Safe Haskell | Safe-Infered |
---|
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, MonadBaseControl IO m, MonadIO m) => Int -> Handle -> Enumerator s m a
- enumHandleCatch :: forall e s el m a. (IException e, NullPoint s, ReadableChunk s el, MonadBaseControl IO m, MonadIO m) => Int -> Handle -> (e -> m (Maybe EnumException)) -> Enumerator s m a
- enumHandleRandom :: forall s el m a. (NullPoint s, ReadableChunk s el, MonadBaseControl IO m, MonadIO m) => Int -> Handle -> Enumerator s m a
- enumFile :: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) => Int -> FilePath -> Enumerator s m a
- enumFileRandom :: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) => Int -> FilePath -> Enumerator s m a
- fileDriverHandle :: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) => Int -> Iteratee s m a -> FilePath -> m a
- fileDriverRandomHandle :: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) => Int -> Iteratee s m a -> FilePath -> m a
File enumerators
:: forall s el m a . (NullPoint s, ReadableChunk s el, MonadBaseControl IO m, MonadIO 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, MonadBaseControl IO m, MonadIO 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, MonadBaseControl IO m, MonadIO 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, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) | |
=> Int | Buffer size |
-> FilePath | |
-> Enumerator s m a |
:: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) | |
=> Int | Buffer size |
-> FilePath | |
-> Enumerator s m a |
Iteratee drivers
:: (NullPoint s, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) | |
=> 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, MonadBaseControl IO m, ReadableChunk s el, MonadIO m) | |
=> Int | Buffer size (number of elements) |
-> Iteratee s m a | |
-> FilePath | |
-> m a |
A version of fileDriverHandle
that supports seeking.