iteratee-0.8.9.6: Iteratee-based I/O

Safe HaskellNone

Data.Iteratee.IO

Contents

Description

Random and Binary IO with generic Iteratees.

Synopsis

Data

defaultBufSize :: IntSource

The default buffer size.

File enumerators

Handle-based enumerators

enumHandleSource

Arguments

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

Buffer size (number of elements per read)

-> Handle 
-> Enumerator s m a 

The (monadic) enumerator of a file Handle. This version enumerates over the entire contents of a file, in order, unless stopped by the iteratee. In particular, seeking is not supported. Data is read into a buffer of the specified size.

enumHandleRandomSource

Arguments

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

Buffer size (number of elements per read)

-> Handle 
-> Enumerator s m a 

The enumerator of a Handle: a variation of enumHandle that supports RandomIO (seek requests). Data is read into a buffer of the specified size.

FileDescriptor based enumerators

enumFd :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask 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.

enumFdRandom :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask 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

fileDriver :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m aSource

Process a file using the given Iteratee. This function wraps enumFd as a convenience.

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

A version of fileDriver with a user-specified buffer size (in elements).

fileDriverRandom :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m aSource

Process a file using the given Iteratee. This function wraps enumFdRandom as a convenience.