NAME

Sys::Sendfile - Zero-copy data transfer

VERSION

Version 0.01

SYNOPSIS

use Sys::Sendfile qw/sendfile/;
sendfile $sink, $source, $count;

DESCRIPTION

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.

FUNCTIONS

sendfile $out, $in, $count

This function sends up to $count bytes from $in to $out. If $count isn't given, it will send all remaining bytes in $in. $in and $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.

AUTHOR

Leon Timmermans, <leont at cpan.org>

BUGS AND LIMITATIONS

Not all operating systems support sendfile(). Currently Linux, FreeBSD and Solaris 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.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Sys::Sendfile

You can also look for information at:

SEE ALSO

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 AND LICENSE

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.