[omniORB] client call timeout

Peter Honeder peter at hlw.co.at
Mon Dec 19 17:06:13 GMT 2005


Hi List!

I have the following problem with omniorb. Imagine the IOR of some 
object I know and now I would like to find out if the object is still 
alive. So I call the method isAlive of this object (which is available 
for this object).

The problem now arises if the ior of the object contains an ip address 
which is not within my subnet and some router in between filters the 
packet and does not drop my connection by sending a close back. The 
problem which arises then is that it takes a tcp timeout of about 3 
minutes until the check finishes.

I can workaround the problem by using the clientCallTimeOutPeriod 
setting but this would also mean that a client call can only take that 
long. This imposes further problems to the situation as some calls could 
take about 5-10 seconds but the isAlive check should only take 0,5-1 
seconds maximum.

Is there some kind of option to check if only the connection 
establishment took a certain period of time. Something like 
clientCallConnectionEstablishmentTimeOutPeriod which could be set to 500 
ms while still keeping the clientCallTimeOutPeriod blocking with value 0?

Alternatively do you know a better way to check if an object is still 
alive? In my case small numbers of false negatives would be not much of 
a problem (e.g. if the network is unresponsive once in a while).

Thanks for your help and best regards,
Peter



More information about the omniORB-list mailing list