I've updated the proton C driver API and libuv implementation on this branch
https://github.com/apache/qpid-proton/tree/aconway-libuv-driver Not complete but has working broker/send/receive examples. # C driver for C/C++ bindings and direct C users. driver.h is an SPI so an IO integration can be shared between C and C++ applications and bindings. Provides common connnect/listen/wakeup API to drive the pn_connection_engine. Examples show C sender, receiver and broker using a libuv driver. The driver API is source compatible so an app can be re-compiled to use a different driver implementation by changing the PN_DRIVER_INCLUDE setting. This is not intended for use by non-C/C++ bindings where the binding language has its own IO and concurrency framework. Such bindings should implement their own driver in the binding language, using native IO/threading for the language. This driver can be a structural example, as is the Go binding. NOTE: preview only, not finished. Issues to address include: - handle transport ticks - support for scheduled wakeup (leave task queueing outside like conn wakeup) - check when driver is "empty" - not monitoring anything. For clean shutdown. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
