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

Reply via email to