Random and Binary IO with generic Iteratees. These functions use Handles for IO operations, and are provided for compatibility. When available, the File Descriptor based functions are preferred as these wastefully allocate memory rather than running in constant space.
- enumHandle :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Handle -> Enumerator s m a
- enumHandleCatch :: forall e s el m a. (IException e, NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Handle -> (e -> m (Maybe EnumException)) -> Enumerator s m a
- enumHandleRandom :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Handle -> Enumerator s m a
- enumFile :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- enumFileRandom :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- fileDriverHandle :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- fileDriverRandomHandle :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
File enumerators
:: forall s el m a . (NullPoint s, ReadableChunk s el, MonadCatchIO 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.
:: forall e s el m a . (IException e, NullPoint s, ReadableChunk s el, MonadCatchIO m) | |
=> Int | Buffer size (number of elements per read) |
-> Handle | |
-> (e -> m (Maybe EnumException)) | |
-> Enumerator s m a |
An enumerator of a file handle that catches exceptions raised by the Iteratee.
:: forall s el m a . (NullPoint s, ReadableChunk s el, MonadCatchIO 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.
:: (NullPoint s, MonadCatchIO m, ReadableChunk s el) | |
=> Int | Buffer size |
-> FilePath | |
-> Enumerator s m a |
:: (NullPoint s, MonadCatchIO m, ReadableChunk s el) | |
=> Int | Buffer size |
-> FilePath | |
-> Enumerator s m a |
Iteratee drivers
:: (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
. This function wraps
enumHandle
as a convenience.
:: (NullPoint s, MonadCatchIO m, ReadableChunk s el) | |
=> Int | Buffer size (number of elements) |
-> Iteratee s m a | |
-> FilePath | |
-> m a |
A version of fileDriverHandle
that supports seeking.