biohazard-0.6.16: bioinformatics support library

Safe HaskellNone
LanguageHaskell2010

Bio.Iteratee.IO

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

Data

defaultBufSize :: Int Source #

Default buffer size in elements. This was 1024 in Data.Iteratee, which is obviously too small. Since we often want to merge many files, a read should take more time than a seek. This sets the sensible buffer size to somewhat more than one MB.

File enumerators

enumFile Source #

Arguments

:: (MonadIO m, MonadMask m) 
=> Int

Buffer size

-> FilePath 
-> Enumerator Bytes m a 

enumFileRandom Source #

Arguments

:: (MonadIO m, MonadMask m) 
=> Int

Buffer size

-> FilePath 
-> Enumerator Bytes m a 

FileDescriptor based enumerators for monadic iteratees

enumFd :: MonadIO m => Int -> Fd -> Enumerator Bytes 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 :: (IException e, MonadIO m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator Bytes m a Source #

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

enumFdRandom :: MonadIO m => Int -> Fd -> Enumerator Bytes m a Source #

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