Subject Re: [Firebird-Architect] Re: Vulcan services engine info. was (engine information (nr. of attachments, da
Author Dimitry Sibiryakov
On 8 May 2006 at 18:42, Roman Rokytskyy wrote:

>> Not all known but all loaded. Let's start from example: dispatcher
>> on client side has two connections to different servers in conection
>> table. When asked for number of opened database it wakls through
>> connections table and ask every provider to count opened db. Engine
>> providers will return 1. Remote providers will send request to
>> remote dispatcher. The procedure will be repeated there and total
>> number of DB will be returned. At last, the dispatcher will return
>> total number of opened databases though all levels of dispatchers.
>> May work...
>
>Yup. But I guess Jim will hang you before you commit this code to the
>CVS. Provider should not call the dispatcher, but only the code below
>himself.

And it doesn't (directly). Remote provide simply sends request
through the wire. It is just an coincidence that on the other and of
the wire another Dispatcher is sitting and handling these requests.

>So, unless you make dispatcher to be some kind of provider that can
>handle some requests and delegate others, you can't solve this without
>breaking the layering.

I can. There is no breaking if these Dispatchers are different.

--
SY, Dimitry Sibiryakov.