-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A portable sendfile library -- -- A library which exposes zero-copy sendfile functionality in a portable -- way. If a platform does not support sendfile, a fallback -- implementation in haskell is provided. -- -- Currently supported platforms: Windows 2000+ (Native), Linux 2.6+ -- (Native), Everything else (Haskell). @package sendfile @version 0.3 -- | 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). module Network.Socket.SendFile -- | The simplest interface. Simply give it an output Handle and the -- FilePath to the input file. sendFile :: Handle -> FilePath -> 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. sendFile' :: Handle -> Handle -> Integer -> IO () -- | Returns the mode that sendfile was compiled with. Mainly for debugging -- use. Possible values are WIN32_SENDFILE, LINUX_SENDFILE, and -- PORTABLE_SENDFILE. sendFileMode :: String