how to defer an event notification

Srini Gurusu (sgurusu) sgurusu at cisco.com
Fri Oct 18 15:49:09 CEST 2013


Hi libev experts,

I am migrating my application from singled threaded non locking, event-lib, which is used in isc/bind to libev.

My application modeled in multi-threaded  with n-producers and one consumer,  each thread has its own core (totally n+1 cores).
Each producer sends data over private queues ( not shared among producers ) and notifies the consumer over exclusive watcher.
Consumer has to process all the queues based on priority events.

I am using single loop which has to serve all the producers and each event is handled in run-to-completion mode but with a timing constraint, in which the event has to be processed or deferred. Worker-thread is not  an option for me due to obvious reasons.

I am using async watchers ( one per each queue with priority associated ).
Can I call ev_async_send() within the async watcher callback context to defer(resend within consumer context on behalf of producer) the remaining processing at later time?

Is there a better way of doing this? Any suggestions?

Thanks,
Srini


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schmorp.de/pipermail/libev/attachments/20131018/38822c99/attachment.html>


More information about the libev mailing list