[omniORB] Problem with large requests (WinNT)

Grzegorz Makarewicz mak at trisoft.com.pl
Thu Aug 19 10:35:47 BST 2004


Duncan Grisby wrote:
> On Monday 19 July, "Clarke Brunt" wrote:
> 
> 
>>Following up my own message (failure in tcpConnection.cc on WinNT attempting
>>to call :send with a size of >12Mb approx):
>>
>>I've experimentally added:
>>
>>#ifdef __WIN32__
>>  // Clarke Brunt, 19/7/2004, try smaller chunks
>>  if (sz >= 0x400000) sz = 0x400000 - 8;
>>#endif
>>
>>i.e. similar to the #ifdef __VMS code that is there already, to make it send
>>in 4Mb chunks. I'd never built OmniORB from source on Windows before, but
>>was relatively painless. It now works fine.
>>
>>Still, I'd appreciate knowing whether the failure I observed is due to some
>>limitation on NT, or the confuguration of my machine, or what? If it
>>_always_ happens, then something like my added code might usefully be
>>included in the official source.
> 
> 
> Can anyone confirm or deny that Windows has this limitation?

from freebsd-hackers:
'''
This is not a bug

select says "yes there is room inm the socket buffer"
however datagram protocols do not store anythign in the outgoing socket
buffer, but, instead hand the packets directly to the driver for the
NIC.

when the NIC fils up it returns ENOBUFS

this is your cue to do a usleep(1000)
before sending more packets.
'''

mak



More information about the omniORB-list mailing list