Hello, I want to implement a pipeline server build on libevent, it contains a libevent thread and serval worker threads. libevent thread read request, write result, and worker thread process the request. Which can be described as follows:
libevent thread: 1. accept a new connection. 2. register "EV_READ | EV_PERSIST" on the connection socket. 3. read a full request from the socket under libevent loop. 4. cancel the registration of socket through event_del, and add request to request queue, then pthead_cond_signal worker thread. worker thread: 1. get a request from request queue, process it. 2. add the result to result queue, and signal libevent thread through pipe. libevnet thread: 1. get a result from result queue, register "EV_WRITE | EV_PERSIST" on the connection socket associated with the result. 2. write the result to the socket under libevent loop. Any suggestions? Thanks! Tao Hui
_______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkeymail.org/mailman/listinfo/libevent-users