iteratee-0.7.0.2: Iteratee-based I/O

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, MonadCatchIO m) => Int -> Fd -> Enumerator s m aSource

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, MonadCatchIO m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m aSource

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

enumFdRandom :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m aSource

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

Iteratee drivers

fileDriverFdSource

Arguments

:: (NullPoint s, MonadCatchIO 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, MonadCatchIO m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m aSource

A version of fileDriverFd that supports seeking.