| 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)
- data VersionDataCodec bytes vNumber vData = VersionDataCodec {
- encodeData :: vNumber -> vData -> bytes
- decodeData :: vNumber -> bytes -> Either Text vData
- cborTermVersionDataCodec :: (vNumber -> CodecCBORTerm Text vData) -> VersionDataCodec Term 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
data VersionDataCodec bytes vNumber vData Source #
Codec for version data (vData in code) exchanged by the handshake
protocol.
Note: extra type param is instantiated to DictVersion; agreedOptions
is instantiated to NodeToNodeVersionData in Ouroboros.Network.NodeToNode
or to () in Ouroboros.Network.NodeToClient.
Constructors
| VersionDataCodec | |
Fields
| |
cborTermVersionDataCodec :: (vNumber -> CodecCBORTerm Text vData) -> VersionDataCodec Term vNumber vData Source #