[Common-dev] SOD: Socket write buffer rework

[Common-dev] SOD: Socket write buffer rework

Tom Marshall tmarshall at helixcommunity.org
Fri Sep 24 18:15:12 PDT 2004


On Fri, Sep 24, 2004 at 04:41:58PM -0700, Liam Murray wrote:
> Is HX_IOV_MAX a compile time constant or can you alter it via a socket 
> option? This isn't really a concern for the client. I'm just curious.

It's compile time.

> I agree with your other email. I don't really see a use/need for buffering 
> UDP since it is unreliable.
> 
> "If writes are not currently blocked,an immediate write will be performed 
> when either the current write array has HX_MAX_IOV elements filled or the 
> current write array contains at least MSS
> bytes."
> 
> What if the user stops (or pauses) writing before this condition is met? Is 
> it possible this will lead to a case where data might end up being held 
> indefinitely? (I believe nagle for example will send once all outstanding 
> data is acknowledged if there data in the outgoing buffer does not exceed 
> the MSS.)

Yes, it is possible.  The socket user is responsible for ensuring that data
continues to flow when aggregation is enabled.  I belive the old
IHXBufferedSocket also behaved this way.  It's an efficiency optimization so
adding a timeout would be counterproductive.  I think this was a server
specific interface.

-- 
Logic is a systematic method of coming to the wrong conclusion with
confidence.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.helixcommunity.org/pipermail/common-dev/attachments/20040924/2d8b443d/attachment.bin


More information about the Common-dev mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.