| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.KeepAlive.Registry
Synopsis
- data KeepAliveRegistry peer (m :: Type -> Type) = KeepAliveRegistry {
- dqRegistry :: StrictTVar m (Map peer PeerGSV)
- keepRegistry :: StrictTVar m (Map peer (ThreadId m, StrictTMVar m ()))
- dyingRegistry :: StrictTVar m (Set peer)
- newKeepAliveRegistry :: MonadSTM m => m (KeepAliveRegistry peer m)
- bracketKeepAliveClient :: forall m a peer. (MonadSTM m, MonadFork m, MonadMask m, Ord peer) => KeepAliveRegistry peer m -> peer -> (StrictTVar m (Map peer PeerGSV) -> m a) -> m a
- readPeerGSVs :: forall (m :: Type -> Type) peer. (MonadSTM m, Ord peer) => KeepAliveRegistry peer m -> STM m (Map peer PeerGSV)
Documentation
data KeepAliveRegistry peer (m :: Type -> Type) Source #
A registry which keeps PeerGSV information based on `keep-alive`
measurements.
Constructors
| KeepAliveRegistry | |
Fields
| |
newKeepAliveRegistry :: MonadSTM m => m (KeepAliveRegistry peer m) Source #
bracketKeepAliveClient :: forall m a peer. (MonadSTM m, MonadFork m, MonadMask m, Ord peer) => KeepAliveRegistry peer m -> peer -> (StrictTVar m (Map peer PeerGSV) -> m a) -> m a Source #