Safe Haskell | None |
---|---|
Language | Haskell2010 |
DMQ.NodeToNode
Documentation
type RemoteAddress = SockAddr #
module DMQ.NodeToNode.Version
type ClientApp addr (m :: Type -> Type) a = NodeToNodeVersion -> ExpandedInitiatorContext addr m -> Channel m ByteString -> m (a, Maybe ByteString) Source #
type ServerApp addr (m :: Type -> Type) a = NodeToNodeVersion -> ResponderContext addr -> Channel m ByteString -> m (a, Maybe ByteString) Source #
data Apps addr (m :: Type -> Type) a b Source #
Constructors
Apps | |
Fields
|
ntnApps :: forall (m :: Type -> Type) addr. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadFork m, MonadMask m, MonadMVar m, MonadThrow (STM m), MonadTimer m, Ord addr, Show addr, Hashable addr, ToJSON addr) => (forall ev. ToJSON ev => Tracer m (WithEventType ev)) -> Configuration -> NodeKernel addr m -> Codecs addr m -> LimitsAndTimeouts addr -> TxDecisionPolicy -> Apps addr m () () Source #
data Protocols (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b Source #
Constructors
Protocols | |
Fields
|
Arguments
:: forall addr (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b. LimitsAndTimeouts addr | |
-> Protocols appType initiatorCtx responderCtx bytes m a b | |
-> NodeToNodeVersion | negotiated version number |
-> NodeToNodeVersionData | negotiated version data |
-> OuroborosBundle appType initiatorCtx responderCtx bytes m a b |
initiatorProtocols :: forall addr (m :: Type -> Type) a b. LimitsAndTimeouts addr -> Apps addr m a b -> NodeToNodeVersion -> NodeToNodeVersionData -> OuroborosBundleWithExpandedCtx 'InitiatorMode addr ByteString m a Void Source #
initiatorAndResponderProtocols :: forall addr (m :: Type -> Type) a b. LimitsAndTimeouts addr -> Apps addr m a b -> NodeToNodeVersion -> NodeToNodeVersionData -> OuroborosBundleWithExpandedCtx 'InitiatorResponderMode addr ByteString m a b Source #
dmqCodecs :: forall (m :: Type -> Type) addr. MonadST m => (addr -> Encoding) -> (forall s. Decoder s addr) -> Codecs addr m Source #
data LimitsAndTimeouts addr Source #
dmqLimitsAndTimeouts :: LimitsAndTimeouts addr Source #
type HandshakeTr ntnAddr = WithBearer (ConnectionId ntnAddr) (TraceSendRecv (Handshake NodeToNodeVersion Term)) Source #
ntnHandshakeArguments :: forall (m :: Type -> Type) ntnAddr. MonadST m => Tracer m (HandshakeTr ntnAddr) -> HandshakeArguments (ConnectionId ntnAddr) NodeToNodeVersion NodeToNodeVersionData m Source #