ouroboros-network-framework-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Protocol.Handshake

Description

API for running Handshake protocol.

Synopsis

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.