sendfile-0.3: A portable sendfile librarySource codeContentsIndex
Network.Socket.SendFile
Description

A cross-platform wrapper for sendfile -- this implements an available operating-system call if supported, otherwise it falls back to a portable haskell implementation. SendFile will flush the output Handle before transmission.

Keep in mind that the input should only be a Handle derived from a network socket (by using socketToHandle). Using something other than a network socket for the input Handle will result in undefined behavior. Furthermore, for consistent read/write behavior, both the output and input handles should be opened in Binary mode rather than Text mode (especially if you are using hSeek).

Synopsis
sendFile :: Handle -> FilePath -> IO ()
sendFile' :: Handle -> Handle -> Integer -> IO ()
sendFileMode :: String
Documentation
sendFileSource
:: HandleThe output handle
-> FilePathThe path where the input file resides
-> IO ()
The simplest interface. Simply give it an output Handle and the FilePath to the input file.
sendFile'Source
:: HandleThe output handle
-> HandleThe input handle
-> IntegerThe number of bytes to read
-> IO ()
A more powerful interface than sendFile, sendFile' accepts a Handle for the input file instead of a FilePath and the number of bytes you would like to read. This unlocks the full potential Handle(s). For instance, if you wanted to start reading from a particular offset, you could utilize hSeek. If you need the file size you can use hFileSize.
sendFileModeSource
:: StringThe mode that sendfile was compiled with
Returns the mode that sendfile was compiled with. Mainly for debugging use. Possible values are WIN32_SENDFILE, LINUX_SENDFILE, and PORTABLE_SENDFILE.
Produced by Haddock version 2.4.2