I've put the C proactor up for review on branch

https://github.com/alanconway/qpid-proton/tree/aconway-c-proactor

The libuv implementation needs a lot more testing and profiling, but
the proactor API is close to complete. Feedback appreciated!

commit 51d291b88731877e168e08d6316eb10cbf8bbf0e
Author: Alan Conway <[email protected]>
Commit: Alan Conway <[email protected]>

PROTON-1344: C proactor for multi-threaded proton applications

proactor.h is an asynchronous, multi-threaded replacement for reactor.h

It uses the same Proton engine APIs and events, but allows multiple
application
threads wait for events to handle, rather than calling back on handler
functions
from a single thread.

The proactor ensures that events for the same AMQP connection are
handled in
sequence (although possibly by different threads at different times) so
event
handling code does not need to lock the use of thread-unsafe proton
APIs. It
provides a "wake" feature to signal connections for processing
triggered by the
application rather than proton IO.

Examples show C sender, receiver and broker, and a libuv driver
implementation.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to