EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Does TElIndySSLIOHandlerSocket buffer internally?

Posted: 08/10/2006 22:04:18
by John Yu (Basic support level)
Joined: 08/10/2006
Posts: 2


I'm using TElIndySSLIOHandlerSocket with Indy 9 to implement a client. I have a strange problem:

Even if I reduced the TidTCPClient.RecvBufferSize to a very small size (e.g. 64 bytes), large amount of data was still buffered somewhere on my client (e.g. in the order of 10000 bytes) before reaching my application code. The server thought it had sent a message to my client at time X, but my application code didn't receive it much later. This causes serious problem in my application which is time sensitive.

I'm wondering if TElIndySSLIOHandlerSocket does internal buffering? If yes, could I configure it? If not, do you have any idea in which layer of the stack the buffering happens?

Posted: 08/11/2006 11:58:30
by Eugene Mayevski (Team)

There's no place in IO handler that can cause a delay. Unfortunately I can say nothing about Indy itself

Sincerely yours
Eugene Mayevski
Posted: 08/14/2006 08:13:48
by Stephane Grobety (Priority Standard support level)
Joined: 04/18/2006
Posts: 174

The receive buffer size is used in exactly two calls in the Indy TCP connection object: ReadFromStack and ReadStream.

In the first case, it will be the largest amount of data that will be extracted from the TCP stack in a single read: if there is more data in the input buffer, the calling function will need a second call to get it.

In the second case, the size is just used to create a buffer of the proper size for the read druing the loop.

So, basically, it all boils down to what you're trying to do and what code path you use to reach the ReadFromStack call.



Topic viewed 3573 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!