This is not strictly safe in the sense that it does make an assumption
about the buffering used, but as I said in my first message, as long as
the record length is less than the receive buffer size, TCP should
deliver the data. Since the receive buffer size is typically 48K or
more and the record size under discussion here is in the extreme case
9 bytes, it is not unreasonable to suppose that the data will arrive.
This has been true in all situations on all platforms including ours
until the introduction of fused connections. This is even more counter-
intuitive when you consider that the purpose of fused connections was
to eliminate unnecessary flow control.
The bottom line is that an application that previously worked flawlessly
on all platforms will now completely fail. That's not a degradation of
performance or anything like that, it is completely fail.
Paul Jakma wrote:
On Thu, 4 Jan 2007, Brian Utterback wrote:
Hence my comment about this always being a possibility. But this is a
common technique that is perfectly safe in any other situation.
Define safe. ;)
The application is making an assumption about the details of how the
system buffers, based on which it "deduces" (it thinks, but really it's
guessing, badly) the future behaviour of the writer.
How can that be safe?
regards,
--
blu
"The genius of you Americans is that you never make clear-cut stupid
moves, only complicated stupid moves which make us wonder at the
possibility that there may be something to them which we are missing."
- Gamal Abdel Nasser
----------------------------------------------------------------------
Brian Utterback - Solaris RPE, Sun Microsystems, Inc.
Ph:877-259-7345, Em:brian.utterback-at-ess-you-enn-dot-kom
_______________________________________________
networking-discuss mailing list
[email protected]