ouroboros-network-framework
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Protocol.Handshake.Client

Synopsis

Documentation

handshakeClientPeer :: forall vNumber vData r (m :: Type -> Type). Ord vNumber => VersionDataCodec Term 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 Versions vNumber vData to the remote peer.

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 #

acceptOrRefuse Source #

Arguments

:: forall vParams vNumber vData r. Ord vNumber 
=> VersionDataCodec vParams vNumber vData 
-> (vData -> vData -> Accept vData) 
-> Versions vNumber vData r 
-> Map vNumber vParams

proposed versions received either with MsgProposeVersions or MsgReplyVersions

-> Either (RefuseReason vNumber) (r, vNumber, vData)