| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Network.LeiosNotify
Description
Running LeiosNotify as a node-to-node mini-protocol.
Synopsis
- leiosNotifyMiniProtocolNum ∷ MiniProtocolNum
- leiosNotifyPipelineDepth ∷ Int
- 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)
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