[omniORB] about the multithread in omniORB
Gary Duzan
gduzan@bbn.com
Tue Jul 2 14:14:01 2002
In Message <3D2169E9.8030209@xplantechnology.com> ,
Luke Deller <ldeller@xplantechnology.com> wrote:
=>Thinking from the perspective of a CORBA client, I have object references
=>and I use these references to make requests. There is no concept of a
=>connection in this model.
=>
=>My understanding is that the use of connections are a detail of implementing
=>an ORB which uses a connection-oriented protocol (like giop). The details
=>of connection use (like whether a connection is reused for multiple requests
=>/ multiple remote objects / concurrent requests) should be transparent to
=>the CORBA programmer, except where the ORB implementation may be vulnerable
=>to deadlock.
=>
=>Is this correct?
Yes.
=>This would mean:
=>- there is not necessarily any correlation between the lifetime of a
=>connection and an object reference
Right. You can have zero or more connections handling communications
between an object reference in a client and the servant in the server. You
can have more than one if you have multiple threads trying to invoke
the same object concurrently, at least in omniORB. Other ORBs may put
all the communications over a single connection. Some ORBs may never
even use connections, instead using proprietary protocols which are
connectionless, like UDP.
=>- there is no way of knowing whether two requests will use the same
=>connection or not
Well, no portable way, anyhow. If you know your ORB's internals,
there may be a way to find out, but otherwise no.
I should say that CORBA isn't entirely silent on the idea of
connections. If you have an ORB with supports the Real Time CORBA
extensions, you have access to banded connections, which lets you
specify that operations of differing priority should go over different
connections. You can also specify that certain objects should have
private connections which are not shared with requests to other
objects. omniORB does not support Real Time CORBA, though, so these
facilities are unavailable.
=>Is this true?
Yep. :-)
=>Thanks!
=>Luke.
Gary Duzan
BBN Technologies
A Verizon Company