[omniORB] timeout detection (client-side)

Michael Kilburn crusader.mike at gmail.com
Tue Nov 20 21:41:34 GMT 2007


Hi,

Is it possible to reliably distinguish these three conditions? :
- server can't be contacted (i.e. it dropped out of network and it
can't detect that, extremely overloaded, deadlocked, whatever) with
timeout set by corresponding function
- server process is dead (i.e. box is alive, but related port is
closed, box is switched off and network could detect that...)
- other conditions, such as errors in client's ORB, errors in server's
ORB (e.g. out of memory, system errors)

Currently I am totally confused by how omniORB behaves (in some cases
generates COMM_FAILURE, in some -- TRANSIENT)...

Also, what about providing nice extension -- automatically catch
std::exception in request dispatcher and generate some CORBA system
exception (passing exception::what() to the client). Right now, I have
to go through tedious process of adding this support for almost every
function in idl by catching and converting std::exception to my own
InternalError.

-- 
Sincerely yours,
Michael.



More information about the omniORB-list mailing list