| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.Protocol.Handshake.Codec
Contents
Synopsis
- codecHandshake :: forall vNumber (m :: Type -> Type) failure. (MonadST m, Ord vNumber, Show failure) => CodecCBORTerm (failure, Maybe Int) vNumber -> Codec (Handshake vNumber Term) DeserialiseFailure m ByteString
- byteLimitsHandshake :: forall {k} (vNumber :: k). ProtocolSizeLimits (Handshake vNumber Term) ByteString
- timeLimitsHandshake :: forall {k} (vNumber :: k). ProtocolTimeLimits (Handshake vNumber Term)
- noTimeLimitsHandshake :: forall {k} (vNumber :: k). ProtocolTimeLimits (Handshake vNumber Term)
- encodeRefuseReason :: CodecCBORTerm fail vNumber -> RefuseReason vNumber -> Encoding
- decodeRefuseReason :: Show failure => CodecCBORTerm (failure, Maybe Int) vNumber -> Decoder s (RefuseReason vNumber)
- 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
Documentation
Arguments
| :: forall vNumber (m :: Type -> Type) failure. (MonadST m, Ord vNumber, Show failure) | |
| => CodecCBORTerm (failure, Maybe Int) vNumber |
|
| -> Codec (Handshake vNumber Term) DeserialiseFailure m ByteString |
codec. The Handshake encodes proposed map in
ascending order and it expects to receive them in this order. The whole
MsgProposeVersionsMsgProposeVersions message must fit into a single TCP segment which limits
number of versions that can be proposed.
byteLimitsHandshake :: forall {k} (vNumber :: k). ProtocolSizeLimits (Handshake vNumber Term) ByteString Source #
Byte limits
timeLimitsHandshake :: forall {k} (vNumber :: k). ProtocolTimeLimits (Handshake vNumber Term) Source #
noTimeLimitsHandshake :: forall {k} (vNumber :: k). ProtocolTimeLimits (Handshake vNumber Term) Source #
encodeRefuseReason :: CodecCBORTerm fail vNumber -> RefuseReason vNumber -> Encoding Source #
decodeRefuseReason :: Show failure => CodecCBORTerm (failure, Maybe Int) vNumber -> Decoder s (RefuseReason vNumber) Source #
Version data codec
type VersionDataCodec versionNumber versionData = VersionedCodecCBORTerm Text versionNumber versionData #
data VersionedCodecCBORTerm fail v a #
Constructors
| VersionedCodecCBORTerm | |
Fields
| |
Bundled Patterns
| pattern VersionDataCodec :: (v -> a -> Term) -> (v -> Term -> Either Text a) -> VersionDataCodec v a |
mkVersionedCodecCBORTerm :: (vNumber -> CodecCBORTerm fail vData) -> VersionedCodecCBORTerm fail vNumber vData #