directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cetin Karakus <>
Subject some comments and questions
Date Mon, 13 Sep 2004 11:15:28 GMT
Hi Alex,
I have been reading through SEDA codebase recently and I would like
to ask some points.

I have noticed that there are some implementation classes whose names
usually follow Default* pattern in  api/ source tree. Why this is so?
Is it because they are trivial implementations?

There is a heavy usage of observer pattern. I know that SEDA is a event based 
architecture and it is claimed to enable massive scalability in client/server
applications by its author. My question is that while scalability is
absolutely a
strong motive in the design, do we should disregard performance
concerns althogether?
I may be wrong but arent the callback interfaces exposed through
*Monitor objects
are too much fine-granular? My concern is that they may result in
excessive callbacks
throughout event processing pipeline that may cause serious
performance degradation

>From my current understanding, "Stage"s are the abstraction made to
allow processing
of the events enqueued to the same place by a common event handler.
As events are enqueued, they are made available to be processed. The
predicate objects
that examine a given event and decide to (dis)allow an event to be enqueued to 
a given stage is the dynamic, configurable mechanism through which
stages can be
programmed to process only certain types of events.

As such, shouldnt stages allow more flexible combination of predicates that 
allow makeup of complex boolean expressions consisting of multiple
levents of boolean operations like:
( (predicate1 and predicate2) or (predicate3 and predicate4)) and  predicate4

View raw message