Robert Watson wrote: > On Fri, 2 Nov 2007, Ian FREISLICH wrote: > > sendfile() reports success for files less than about 64k in size, > > but I haven't been able to figure out where the threshold is. It > > erroneously reports that 41000 of the 64k were sent, but will say > > the whole file was transferred up to about 64k. The connection > > filedescriptor is blocking. > > Probably what is happening is that sendfile() is counting bytes > successfully inserted into the send socket buffer, rather than bytes > sent on the wire. This is consistent with what happens when you > write a file to a TCP socket, though, as you only know the bytes made > it into the buffer, not to the remote destination. I'd guess the > threshold size you're seeing above is the size of the default send > socket buffer. The connection was closed long before the call to sendfile by the remote side. Is there a way to determine how much actually made it onto the wire? Presumably this is actually known somewhere in the kernel. Ian -- Ian FreislichReceived on Mon Nov 05 2007 - 04:02:15 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:21 UTC