iteratee-0.8.9.6: Iteratee-based I/O

Safe HaskellNone
LanguageHaskell2010

Data.Iteratee.IO.Fd

Contents

Description

Random and Binary IO with generic Iteratees, using File Descriptors for IO. when available, these are the preferred functions for performing IO as they run in constant space and function properly with sockets, pipes, etc.

Synopsis

File enumerators

FileDescriptor based enumerators for monadic iteratees

enumFd :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a Source

The enumerator of a POSIX File Descriptor. This version enumerates over the entire contents of a file, in order, unless stopped by the iteratee. In particular, seeking is not supported.

enumFdCatch :: forall e s el m a. (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a Source

A variant of enumFd that catches exceptions raised by the Iteratee.

enumFdRandom :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a Source

The enumerator of a POSIX File Descriptor: a variation of enumFd that supports RandomIO (seek requests).

enumFile Source

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size

-> FilePath 
-> Enumerator s m a 

enumFileRandom Source

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size

-> FilePath 
-> Enumerator s m a 

Iteratee drivers

fileDriverFd Source

Arguments

:: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) 
=> Int

Buffer size (number of elements)

-> Iteratee s m a 
-> FilePath 
-> m a 

Process a file using the given Iteratee.

fileDriverRandomFd :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a Source

A version of fileDriverFd that supports seeking.