You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2016/11/12 06:29:05 UTC

Proton C Proactor

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 <ac...@redhat.com>
Commit: Alan Conway <ac...@redhat.com>

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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org