Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides utilities for reading and writing values to and
from file Handle
s.
Synopsis
- hGetValue :: FromStruct ConstMsg a => Handle -> Int -> IO a
- getValue :: FromStruct ConstMsg a => Int -> IO a
- hPutValue :: (Cerialize RealWorld a, ToStruct (MutMsg RealWorld) (Cerial (MutMsg RealWorld) a)) => Handle -> a -> IO ()
- putValue :: (Cerialize RealWorld a, ToStruct (MutMsg RealWorld) (Cerial (MutMsg RealWorld) a)) => a -> IO ()
- hGetMsg :: Handle -> Int -> IO ConstMsg
- getMsg :: Int -> IO ConstMsg
- hPutMsg :: Handle -> ConstMsg -> IO ()
- putMsg :: ConstMsg -> IO ()
Documentation
hGetValue :: FromStruct ConstMsg a => Handle -> Int -> IO a Source #
reads a message from hGetValue
limit handlehandle
, returning its root object.
limit
is used as both a cap on the size of a message which may be read and, for types
in the high-level API, the traversal limit when decoding the message.
It may throw a Error
if there is a problem decoding the message,
or an IOError
raised by the underlying IO libraries.
hPutValue :: (Cerialize RealWorld a, ToStruct (MutMsg RealWorld) (Cerial (MutMsg RealWorld) a)) => Handle -> a -> IO () Source #
putValue :: (Cerialize RealWorld a, ToStruct (MutMsg RealWorld) (Cerial (MutMsg RealWorld) a)) => a -> IO () Source #
hGetMsg :: Handle -> Int -> IO ConstMsg Source #
reads a message from hGetMsg
handle limithandle
that is at most
limit
64-bit words in length.