There is nothing to understand in the buffering. The buffer is automatic and only limited by available virtual memory. You get an exception when you run out of memory, just like you have - for example - when you run out of memory trying to add strings to a TStringList or anything else. That is just plain basic Delphi programming.
Your program has access to BufferedByteCount at anytime to know what the size of the buffer is. I don't see any advantage to have the component check the value against some limit and make Send fail, trigger an event or an exception. Just check the property before calling Send ! -- [EMAIL PROTECTED] http://www.overbyte.be ----- Original Message ----- From: "Angus Robertson - Magenta Systems Ltd" <[EMAIL PROTECTED]> To: <twsocket@elists.org> Sent: Monday, November 20, 2006 2:02 AM Subject: Re: [twsocket] Flow control > > Have you notice BufferedByteCount property ? > > Yes, I mentioned in my first message, but since it's undocumented (not > mentioned in the Wiki, FAQ or Help) it took me a while to understand how > the wsocket buffering works. > > But in this case, TWSocket is poorly designed and network issues can > allow an application to crash out of memory without any earlier errors. > Failing Send if the buffered text reaches a limit, say 32K or something, > seems sensible in the component, rather than expected every user to try > and understand the buffering. > > Angus > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be