Sys::Sendfile - Zero-copy data transfer
use Sys::Sendfile; sendfile $sink, $source, $count;
Sys::Sendfile provides access to your operating system's
sendfile facility. It allows you to efficiently transfer data from one filehandle to another. Typically the source is a file on disk and the sink is a socket, and some operating systems may not even support other usage.
This function sends up to
$count bytes from
$out. If $count isn't given, it will send all remaining bytes in $in.
$out can be a bareword, constant, scalar expression, typeglob, or a reference to a typeglob. It returns the number of bytes actually sent. On error,
$! is set appropriately and it returns undef. This function is exported by default.
<leont at cpan.org> wrote the Linux FreeBSD and Solaris code.
<email@example.com> wrote the Mac OS X code.
Not all operating systems support sendfile(). Currently Linux, FreeBSD, Solaris, Mac OS X (version 10.5 and up) and Windows are supported.
Please report any bugs or feature requests to
bug-sys-sendfile at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Sys-Sendfile. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
You can also look for information at:
sendfile(2) - Your manpage on sendfile
IO::Sendfile - A sendfile implementation for Linux
Sys::Syscall - Another sendfile implementation for Linux
Sys::Sendfile::FreeBSD - A module implementing the FreeBSD variant of sendfile
Copyright 2009 Leon Timmermans, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.