technical question about the implementation of Operations

Dear developers,

I hope someone finds a couple of minutes to answer a technical question.

Consider two components distributed on different processes using CORBA.
A is the server (provide the method).
B is the client (call the method).

1) In this case the *ClientThread* parameter in component A makes (of
course) no sense. The code is always executed in the thread of the server.
2) what if the implementation of the method in server A is slow (lot of
calculations) and the client B use "send" to make several invocation of the
remote method? I guess you have implemented a queue on the server side.
Therefore, is it correct to say that the execution of send is potentially
asynchronous?
3) Which (and how many) threads are used to execute the methods on the
server side? I suppose that it is just one (not a thread pool) but I expect
also that it is *not* the same thread which act as "sink" of the messages
received from the Corba, otherwise we would stop receiving other data (from
input ports for example) whilst a slow method is being executed.

Have I said something wrong in these 3 statements? Have you implemented it
in a different way?

Thanks

Davide