On Monday 08 March 2004 10:54, Stephen McConnell wrote:
> 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.
Reverse Dependency, huh??
thread barrier ->|
|
| registration
| +-----------------+
| | |
| V |
+------------+ +--|----+ +---------+
request | Network | write | queue | event | Request |
--------> | Management | ------->| | |------> | Service |
+------------+ +--|----+ +---------+
|
|
Is this anything like what is going on?
* Registration of the RequestService(s) to the queue.
* Request comes in which the network routines places in the queue
* The queue fire events to registered parties.
And your "problem" is that the 'queue' fills up quickly by the network
routines, since there is nothing emptying them in the initial stages?
IF this is the overall picture, and that the "queue" is a separate component,
I would make it the "coordinator", so that the "Network Management" registers
itself there as well, to be notified for "RegistrationEvents", containing
enough information on when it is possible to enable the incoming connections.
thread barrier ->|
|
|
RegistrationListener | RequestListener
registration | registration
+----------------+ | +-----------------+
| | | | |
| v | v |
+------------+ +--|----+ +---------+
request | Network | write | queue | event | Request |
--------> | Management | ------->| | |------> | Service |
+------------+ +--|----+ +---------+
|
|
Does this helps?
Niclas
--
+---------//-------------------+
| http://www.bali.ac |
| http://niclas.hedhman.org |
+------//----------------------+
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]