| 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 crypto (m :: Type -> Type) addr. (Crypto crypto, ContextDSIGN (DSIGN crypto) ~ (), Signable (DSIGN crypto) (OCertSignable crypto), ContextKES (KES crypto) ~ (), Signable (KES crypto) ByteString, Typeable crypto, 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 crypto addr m -> Codecs crypto addr m -> LimitsAndTimeouts crypto addr -> TxDecisionPolicy -> Apps addr m () () Source #
data Protocols (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b Source #
Constructors
| Protocols | |
Fields
| |
Arguments
| :: forall crypto addr (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b. LimitsAndTimeouts crypto 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 crypto addr (m :: Type -> Type) a b. LimitsAndTimeouts crypto addr -> Apps addr m a b -> NodeToNodeVersion -> NodeToNodeVersionData -> OuroborosBundleWithExpandedCtx 'InitiatorMode addr ByteString m a Void Source #
initiatorAndResponderProtocols :: forall crypto addr (m :: Type -> Type) a b. LimitsAndTimeouts crypto addr -> Apps addr m a b -> NodeToNodeVersion -> NodeToNodeVersionData -> OuroborosBundleWithExpandedCtx 'InitiatorResponderMode addr ByteString m a b Source #
dmqCodecs :: forall crypto (m :: Type -> Type) addr. (Crypto crypto, MonadST m) => (addr -> Encoding) -> (forall s. Decoder s addr) -> Codecs crypto addr m Source #
data LimitsAndTimeouts crypto addr Source #
dmqLimitsAndTimeouts :: LimitsAndTimeouts crypto 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 #
stdVersionDataNTN :: NetworkMagic -> DiffusionMode -> PeerSharing -> NodeToNodeVersionData Source #