| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.CodecCBORTerm
Synopsis
- data CodecCBORTerm fail a = CodecCBORTerm {
- encodeTerm :: a -> Term
- decodeTerm :: Term -> Either fail a
- type VersionDataCodec versionNumber versionData = VersionedCodecCBORTerm Text versionNumber versionData
- data VersionedCodecCBORTerm fail v a where
- VersionedCodecCBORTerm {
- encodeVersionedTerm :: v -> a -> Term
- decodeVersionedTerm :: v -> Term -> Either fail a
- pattern VersionDataCodec :: (v -> a -> Term) -> (v -> Term -> Either Text a) -> VersionDataCodec v a
- VersionedCodecCBORTerm {
- mkVersionedCodecCBORTerm :: (vNumber -> CodecCBORTerm fail vData) -> VersionedCodecCBORTerm fail vNumber vData
- unVersionCodecCBORTerm :: VersionedCodecCBORTerm fail vNumber vData -> vNumber -> CodecCBORTerm fail vData
Documentation
data CodecCBORTerm fail a Source #
A pure codec which encodes to / decodes from Term. This is useful
if one expects a valid cbor encoding, which one might not know how to
decode like in the Handshake protocol.
Constructors
| CodecCBORTerm | |
Fields
| |
type VersionDataCodec versionNumber versionData = VersionedCodecCBORTerm Text versionNumber versionData Source #
data VersionedCodecCBORTerm fail v a Source #
A pure codec which encodes to / decodes from Term which can
depend on a version.
Constructors
| VersionedCodecCBORTerm | |
Fields
| |
Bundled Patterns
| pattern VersionDataCodec :: (v -> a -> Term) -> (v -> Term -> Either Text a) -> VersionDataCodec v a | Codec for version data exchanged by the handshake protocol. |
mkVersionedCodecCBORTerm :: (vNumber -> CodecCBORTerm fail vData) -> VersionedCodecCBORTerm fail vNumber vData Source #
unVersionCodecCBORTerm :: VersionedCodecCBORTerm fail vNumber vData -> vNumber -> CodecCBORTerm fail vData Source #