|
I knew my first question was too vague when I read your first reply. The idea is I'm expecting to read 32K chunks of a 200K transmission. Because I know 32K is what I set to be the max for a read. Instead, I get random sizes on my reads. I check the network traffic and see that packet sizes are only a few hundred bytes. So, based on below the iSeries is buffering but not up to 32K. My question is what determines the size of reads that I am receiving? Or to match your reply, what determines the size of the system's buffer for that socket?
By the way, thanks for your and the others help so far. This is great feedback.
Patrick Conner
www.ConnecTown.com
(828) 244-0822
Scott Klement <klemscot@klements.com>
On Tue, 24 Jul 2001 PatrickConner@parkdalemills.com wrote:
> For an example: I received a document that took four reads that arrived
> in the following sequence. First read: 108; Second read: 16,832; Third
> read: 16,832; Fourth read: 8,586. I then received the exact same document
> again and it arrived as 108; 21,152; 16,832; 4,266. It seems to me that
> the iSeries is buffering the input somewhere.
Yes, it is buffered. Remember that your system is switching between many
different tasks, and doing many different things. Any data that it
didn't buffer would be lost, since the system wouldn't be reading data
coming into the network card 100% of the time.
It's not expected to be consistent. The read() or recv() API will input
as much data as is available in the system's buffer for that socket.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.