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

Reply via email to