Scott Brickner wrote:
On Sun, 2004-03-07 at 20:55, Niclas Hedhman wrote:

Maybe I don't understand you problem well enough but...

If all your internal components are all setup and ready to go at initialize(), and your event manager doesn't enable the sockets until start(), there is no "while Merlin setting up the rest of the system"... No?



No. Most of the components have their own start() methods, which start
up the threads that service their work queues. And the acceptor
component is already bound to the server socket at the end of
configure(), not initialize().


Niclas:

What you actually have here is a reverse dependency issue (I think). We have component X that isn't dependent on anything important - however X has an implict dependency on its consumers (A, B, C) to clear its queue. In effect this is like saying that A depends on X in order to supply the queue from which it is pulling events. But the problem here is that X depends on A to clear the queue. But A has not been established yet (because X does not have a structural dependency on A).

The trick here is enable a soft dependency from X to A, B, C. Once the
soft dependencies are fulfilled - X can safely start the process of queuing events.


Stephen.

p.s. Keep in mind that Niclas knows a lot more about the semantics of event based systems than I do.

SJM

--

|------------------------------------------------|
| Magic by Merlin                                |
| Production by Avalon                           |
|                                                |
| http://avalon.apache.org/merlin                |
| http://dpml.net/merlin/distributions/latest    |
|------------------------------------------------|

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to