[omniORB] omniORB slow transfer when clientCallTimeOutPeriod != 0

Duncan Grisby duncan at grisby.org
Wed Aug 12 12:44:22 BST 2009


On Tuesday 11 August, Igor Lautar wrote:

> Word of warning of other users of omniORB in windows...
> 
> We have not altered maxSocketSend from default. On windows, it seams to be set 
> to 131072 where socketSendBuffer is set to 16384, which triggers extra delay 
> on non-blocking sockets.
> 
> So if someone enables call timeouts, it will immediately be hit by this 
> windows bug.

That's not completely true. The Windows bug is more subtle than that.

The slowdown only occurs if the CORBA call arguments / return values can
be transferred as a single large block, and the block size happens to
interact with the Windows TCP buffering. If the call data is either
small, or involves complex types that require marshalling, the slowdown
doesn't occur.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list