| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.MiniProtocol.LeiosNotify.Server
Description
The upstream side of LeiosNotify.
Synopsis
- data ExnLeiosNotifyExcessiveRequests = ExnLeiosNotifyExcessiveRequests
- type LeiosNotifyServerPeerLookahead point announcement vote (m ∷ Type → Type) = PeerLookaheadFixedSender (LeiosNotify point announcement vote) 'AsServer ('StIdle ∷ LeiosNotify point announcement vote) m ()
- data WhetherExcessiveRequests
- leiosNotifyServerPeerLookahead ∷ (MonadThrow m, MonadSTM m) ⇒ m WhetherExcessiveRequests → STM m (Message (LeiosNotify point announcement vote) ('StBusy ∷ LeiosNotify point announcement vote) ('StIdle ∷ LeiosNotify point announcement vote)) → m (LeiosNotifyServerPeerLookahead point announcement vote m)
Documentation
data ExnLeiosNotifyExcessiveRequests Source #
Constructors
| ExnLeiosNotifyExcessiveRequests |
type LeiosNotifyServerPeerLookahead point announcement vote (m ∷ Type → Type) = PeerLookaheadFixedSender (LeiosNotify point announcement vote) 'AsServer ('StIdle ∷ LeiosNotify point announcement vote) m () Source #
data WhetherExcessiveRequests Source #
Whether incrementing the count of outstanding LeiosNotify requests found the peer already at its pipelining bound, i.e. requesting more than it is allowed.
Constructors
| ExcessiveRequests | |
| NotExcessiveRequests |
leiosNotifyServerPeerLookahead Source #
Arguments
| ∷ (MonadThrow m, MonadSTM m) | |
| ⇒ m WhetherExcessiveRequests | |
| → STM m (Message (LeiosNotify point announcement vote) ('StBusy ∷ LeiosNotify point announcement vote) ('StIdle ∷ LeiosNotify point announcement vote)) | blocks until the next reply (announcement/offer/vote) is ready |
| → m (LeiosNotifyServerPeerLookahead point announcement vote m) |
Once the client sends MsgQuit, the server answers every outstanding
request with MsgCanceled, and then ends with MsgDone.