[issue10882] Add os.sendfile()
Ross Lagerwall
report at bugs.python.org
Tue Jan 11 13:34:26 CET 2011
Ross Lagerwall <rosslagerwall at gmail.com> added the comment:
Just to be clear:
There are 3 different interfaces.
The basic one with the offset included & no headers/trailers is supported by all the platforms, including Linux.
The one with offset as None is only supported by Linux.
The one with headers/trailers/flags is supported by FreeBSD & OS X.
So it does provide a unique interface across all platforms while still providing the ability to access the native functionality.
Preferably, I'd like to see a thin wrapper like this remain and then have a sendfile() method added to the socket object which takes a file-like object (not a file descriptor) and optional headers/trailers. This method can then figure out how best to do it depending on the platform. (i.e. using TCP_CORK if necessary, etc). It could even be made to work with file-like objects that cannot be mmap()ed.
Why not put it straight in socket anyway? Well, some of the implementations allow sendfile() to have a normal fd as the output. Putting it in socket then would't make sense.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue10882>
_______________________________________
More information about the Python-bugs-list
mailing list