generic wrapper for event libraries https://redmine.lighttpd.net/projects/evcon
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
Stefan Bühler f5fc31c6b7 Initial commit 7 yıl önce
src Initial commit 7 yıl önce
.gitignore Initial commit 7 yıl önce
COPYING Initial commit 7 yıl önce
Makefile.am Initial commit 7 yıl önce
README.md Initial commit 7 yıl önce
autogen.sh Initial commit 7 yıl önce
configure.ac Initial commit 7 yıl önce
evcon-ev.pc.in Initial commit 7 yıl önce
evcon-event.pc.in Initial commit 7 yıl önce
evcon-glib.pc.in Initial commit 7 yıl önce
evcon.pc.in Initial commit 7 yıl önce
libevcon-ev0.symbols Initial commit 7 yıl önce
libevcon-event0.symbols Initial commit 7 yıl önce
libevcon-glib0.symbols Initial commit 7 yıl önce
libevcon0.symbols Initial commit 7 yıl önce

README.md

Description

evon is a generic wrapper library that sits between libraries that need socket (file descriptor), timeout and (thread safe) asynchronous events, and an application that wants to use the library.

Platforms

Should work on all POSIX compatible platforms.

Features

Event types:

  • read and write events for asynchronous file descriptors (sockets)
  • simple timeout events
  • (thread safe) asynchronous events (notifications - for example from other threads, that wakeup the event loop)

Backends for:

Simple Scenario

You want to write an application that uses two different event based libraries; if these libraries don’t use the same event loop (say X uses libev and Y libevent) you will have difficulties using them - you could give each library its own thread for example, but embedding one event loop in another is usually not easy.

If the libraries were built against evcon, you could use any event loop - if there is no backend for it yet, you probably can write one.

Examples

See src/tests/evcon-echo.c and src/tests/evcon-echo.h for an example “library”, and src/tests/evcon-test-*.c for how to use them in an application.

Building from git

Run the following in the source directory to prepare the build system:

./autogen.sh

You will need automake and autoconf for this.

Building

All backends need glib (>= 2.14). The libev backend needs libev >= 4, the libevent backend needs libevent >= 2.

Build in a sub directory:

mkdir build
cd build
../configure
make check

Install (probably has to be run as root):

make install

As always it is recommended to use a package system to install files instead (dpkg, rpm, ...).