| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.Protocol.Handshake.Client
Synopsis
- handshakeClientPeer :: forall (m :: Type -> Type) vNumber vData r. (Monad m, Ord vNumber) => VersionDataCodec vNumber vData -> (vData -> vData -> Accept vData) -> Versions vNumber vData r -> Client (Handshake vNumber Term) 'NonPipelined ('StPropose :: Handshake vNumber Term) m (Either (HandshakeProtocolError vNumber) (HandshakeResult r vNumber vData))
- handshakeClientPeerWithRTT :: forall vNumber (m :: Type -> Type) vData r. (Ord vNumber, MonadMonotonicTime m) => VersionDataCodec vNumber vData -> (vData -> vData -> Accept vData) -> Versions vNumber vData r -> Client (Handshake vNumber Term) 'NonPipelined ('StPropose :: Handshake vNumber Term) m (Either (HandshakeProtocolError vNumber) (HandshakeResult r vNumber vData), DiffTime)
- decodeQueryResult :: (vNumber -> bytes -> Either Text vData) -> Map vNumber bytes -> HandshakeResult r vNumber vData
- encodeVersions :: forall vNumber r vParams vData. (vNumber -> vData -> vParams) -> Versions vNumber vData r -> Map vNumber vParams
- acceptOrRefuse :: Ord vNumber => VersionDataCodec vNumber vData -> (vData -> vData -> Accept vData) -> Versions vNumber vData r -> Map vNumber Term -> Either (RefuseReason vNumber) (r, vNumber, vData)
Documentation
handshakeClientPeer :: forall (m :: Type -> Type) vNumber vData r. (Monad m, Ord vNumber) => VersionDataCodec vNumber vData -> (vData -> vData -> Accept vData) -> Versions vNumber vData r -> Client (Handshake vNumber Term) 'NonPipelined ('StPropose :: Handshake vNumber Term) m (Either (HandshakeProtocolError vNumber) (HandshakeResult r vNumber vData)) Source #
Handshake client which offers to the
remote peer.Versions vNumber vData
handshakeClientPeerWithRTT Source #
Arguments
| :: forall vNumber (m :: Type -> Type) vData r. (Ord vNumber, MonadMonotonicTime m) | |
| => VersionDataCodec vNumber vData | |
| -> (vData -> vData -> Accept vData) | |
| -> Versions vNumber vData r | |
| -> Client (Handshake vNumber Term) 'NonPipelined ('StPropose :: Handshake vNumber Term) m (Either (HandshakeProtocolError vNumber) (HandshakeResult r vNumber vData), DiffTime) | the client which offers the versions, does the negotiation and provides round trip time |
Handshake client which offers to the
remote peer and computes round trip time.Versions vNumber vData
TODO: GADT encoding of the client (Handshake.Client module).
decodeQueryResult :: (vNumber -> bytes -> Either Text vData) -> Map vNumber bytes -> HandshakeResult r vNumber vData Source #
encodeVersions :: forall vNumber r vParams vData. (vNumber -> vData -> vParams) -> Versions vNumber vData r -> Map vNumber vParams Source #
Arguments
| :: Ord vNumber | |
| => VersionDataCodec vNumber vData | |
| -> (vData -> vData -> Accept vData) | |
| -> Versions vNumber vData r | |
| -> Map vNumber Term | proposed versions received either with |
| -> Either (RefuseReason vNumber) (r, vNumber, vData) |