Safe Haskell | None |
---|---|
Language | Haskell2010 |
Network.ONCRPC.XDR.Serial
Description
XDR Serialization
- class XDR a where
- class (XDR a, Enum a) => XDREnum a where
- xdrToEnum' :: XDREnum a => Int -> a
- xdrPutEnum :: XDREnum a => a -> Put
- xdrGetEnum :: XDREnum a => Get a
- class (XDR a, XDREnum (XDRDiscriminant a)) => XDRUnion a where
- type XDRDiscriminant a :: *
- xdrDiscriminant :: XDRUnion a => a -> XDRDiscriminant a
- xdrPutUnion :: XDRUnion a => a -> Put
- xdrGetUnion :: XDRUnion a => Get a
- xdrSerialize :: XDR a => a -> ByteString
- xdrSerializeLazy :: XDR a => a -> ByteString
- xdrDeserialize :: XDR a => ByteString -> Either String a
- xdrDeserializeLazy :: XDR a => ByteString -> Either String a
Documentation
An XDR type that can be (de)serialized.
Instances
class (XDR a, Enum a) => XDREnum a where Source #
An XDR type defined with "enum".
Note that the XDREnum
Int
value is not (necessarily) the same as the Enum
Int
value.
The Enum
instance is derived automatically to allow succ
, etc. to work usefully in Haskell, whereas the XDREnum
reflects the XDR-defined values.
Minimal complete definition
xdrToEnum' :: XDREnum a => Int -> a Source #
class (XDR a, XDREnum (XDRDiscriminant a)) => XDRUnion a where Source #
An XDR type defined with "union"
Minimal complete definition
Associated Types
type XDRDiscriminant a :: * Source #
Methods
xdrSplitUnion :: a -> (Int, Put) Source #
Split a union into its discriminant and body generator.
xdrGetUnionArm :: Int -> Get a Source #
Get the body of a union based on its discriminant.
xdrDiscriminant :: XDRUnion a => a -> XDRDiscriminant a Source #
xdrSerialize :: XDR a => a -> ByteString Source #
xdrSerializeLazy :: XDR a => a -> ByteString Source #
xdrDeserialize :: XDR a => ByteString -> Either String a Source #
"S.runGet' xdrGet
xdrDeserializeLazy :: XDR a => ByteString -> Either String a Source #
"S.runGetLazy' xdrGet