ouroboros-consensus:diffusion
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Network.LeiosNotify

Description

Running LeiosNotify as a node-to-node mini-protocol.

Synopsis

Documentation

leiosNotifyPipelineDepth ∷ Int Source #

The most LeiosNotify requests a client may leave outstanding.

TODO justify this bound.

runLookaheadFixedSenderPeerWithLimits ∷ ∀ ps (st ∷ ps) (pr ∷ PeerRole) failure bytes m a. (MonadAsync m, MonadEvaluate m, MonadFork m, MonadMask m, MonadTimer m, MonadThrow (STM m), ShowProxy ps, ∀ (st' ∷ ps) stok. stok ~ StateToken st' ⇒ Show stok, NFData a, NFData failure, Show failure) ⇒ Tracer m (TraceSendRecv ps) → Codec ps failure m bytes → ProtocolSizeLimits ps bytes → ProtocolTimeLimits ps → Channel m bytes → PeerLookaheadFixedSender ps pr st m a → m (a, Maybe bytes) Source #

Run a lookahead (fixed-sender) peer with the given channel via the given codec.

The lookahead dual of runPipelinedPeerWithLimits: the peer receives ahead and its sends are performed by a parallel thread, hence the MonadAsync constraint.

TODO: upstream this to ouroboros-network