Hi, all
>On 3/15/07, Dmitri Kalinin <[EMAIL PROTECTED]> wrote:
>> Hi, Robert
>> I wonder why was the design decision to use Half-Sync/Half-Async pattern
>> but not the Leaders/Followers pattern which may be more efficient and
>> scalable? (http://www.cs.wustl.edu/~schmidt/PDF/lf.pdf)
>> Does libevent allows implementation of this multi-threaded pattern?
The following is the comment of the ACE_TP_Reactor.
This is ACE version 5.2, released Fri Oct 05 05:56:50 2001.
/**
* @file TP_Reactor.h
* The <ACE_TP_Reactor> (aka, Thread Pool Reactor) uses the
* Leader/Followers pattern to demultiplex events among a pool of
* threads.
* ......
* TP_Reactor is a specialization of Select
* Reactor to support thread-pool based event dispatching. This
* Reactor takes advantage of the fact that events reported by
* <select> are persistent if not acted upon immediately.
* ......
*/
/// Dispatch just 1 signal, timer, notification handlers
int dispatch_i (ACE_Time_Value *max_wait_time,
ACE_TP_Token_Guard &guard);
The handle_events of ACE_TP_Reactor had been reimplemented:
int ACE_TP_Reactor::handle_events (ACE_Time_Value *max_wait_time)
{
....
return this->dispatch_i (max_wait_time, guard);
}
I have not found something like ACE_TP_Reactor::dispatch_i in libevent.
So i think it could not implement LF pattern with current version of libevent.
Did i miss something? Thanks in advance.
Best regards,
Stephen
_______________________________________________
Libevent-users mailing list
[email protected]
http://monkey.org/mailman/listinfo/libevent-users