Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Network.Protocol.Handshake
Description
API for running Handshake
protocol.
Synopsis
- runHandshakeClient :: (MonadAsync m, MonadFork m, MonadMonotonicTime m, MonadTimer m, MonadMask m, MonadThrow (STM m), Ord vNumber) => MuxBearer m -> connectionId -> (vData -> vData -> Accept vData) -> HandshakeArguments connectionId vNumber vData m application -> m (Either (HandshakeException (HandshakeClientProtocolError vNumber)) (application, vNumber, vData))
- runHandshakeServer :: (MonadAsync m, MonadFork m, MonadMonotonicTime m, MonadTimer m, MonadMask m, MonadThrow (STM m), Ord vNumber) => MuxBearer m -> connectionId -> (vData -> vData -> Accept vData) -> HandshakeArguments connectionId vNumber vData m application -> m (Either (HandshakeException (RefuseReason vNumber)) (application, vNumber, vData))
- data HandshakeArguments connectionId vNumber vData m application = HandshakeArguments {
- haHandshakeTracer :: Tracer m (WithMuxBearer connectionId (TraceSendRecv (Handshake vNumber Term)))
- haHandshakeCodec :: Codec (Handshake vNumber Term) DeserialiseFailure m ByteString
- haVersionDataCodec :: VersionDataCodec Term vNumber vData
- haVersions :: Versions vNumber vData application
- data HandshakeException a
Documentation
runHandshakeClient :: (MonadAsync m, MonadFork m, MonadMonotonicTime m, MonadTimer m, MonadMask m, MonadThrow (STM m), Ord vNumber) => MuxBearer m -> connectionId -> (vData -> vData -> Accept vData) -> HandshakeArguments connectionId vNumber vData m application -> m (Either (HandshakeException (HandshakeClientProtocolError vNumber)) (application, vNumber, vData)) Source #
Run client side of the Handshake
protocol
runHandshakeServer :: (MonadAsync m, MonadFork m, MonadMonotonicTime m, MonadTimer m, MonadMask m, MonadThrow (STM m), Ord vNumber) => MuxBearer m -> connectionId -> (vData -> vData -> Accept vData) -> HandshakeArguments connectionId vNumber vData m application -> m (Either (HandshakeException (RefuseReason vNumber)) (application, vNumber, vData)) Source #
Run server side of the Handshake
protocol.
data HandshakeArguments connectionId vNumber vData m application Source #
Common arguments for both Handshake
client & server.
Constructors
HandshakeArguments | |
Fields
|
data HandshakeException a Source #
Wrapper around initiator and responder errors experienced by tryHandshake.
Constructors
HandshakeProtocolLimit ProtocolLimitFailure | |
HandshakeProtocolError a |