Newsgroups : Borland : borland.public.delphi.internet.winsock : 2006 Jun : Re: Indy's write buffering question

www.cryer.info
Managed Newsgroup Archive

Re: Indy's write buffering question

Subject:Re: Indy's write buffering question
Posted by:"Remy Lebeau (TeamB)" (no.spam@no.spam.com)
Date:Mon, 26 Jun 2006 11:02:11

"Sir Stephen" <sir-stephen@sir-stephen.com> wrote in message
news:449f27b5$1@newsgroups.borland.com...

> I'm trying to understand how Indy's buffering system works :-)

Very simply, each connection can have an in-memory buffer enabled that all
outgoing data is written to instead of to the socket directly.  The buffer
can have a threshold specified that flushes the buffer contents to the
socket when the threashold is reached, or the threshold can be disabled so
that the buffer is flushed only when the buffer is closed.

Most operations do not use any write buffering at all.  It is typically a
user-enabled feature.  In other words, your own code has to enable/disable
the write buffering by calling the appropriate WriteBuffer...() methods
whenever desired.

> when I send streams, it bugs. I have stepped through the Indy code
> and I've seen that by default, when streams are sent they are
> buffered (FWriteBuffer.Write(ABuffer) in IdIOHandler.pas).

That is a bug that has already been fixed awhile ago.  You must still be
using an older build, and should consider upgrading.


Gambit

Replies:

In response to:

www.cryer.info
Managed Newsgroup Archive