| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.KeepAlive
Synopsis
- newtype KeepAliveInterval = KeepAliveInterval {}
- keepAliveClient :: forall (m :: Type -> Type) peer. (MonadTimer m, Ord peer) => Tracer m (TraceKeepAliveClient peer) -> StdGen -> ControlMessageSTM m -> peer -> StrictTVar m (Map peer PeerGSV) -> KeepAliveInterval -> KeepAliveClient m ()
- keepAliveServer :: forall (m :: Type -> Type). Applicative m => KeepAliveServer m ()
- data TraceKeepAliveClient peer = AddSample peer DiffTime PeerGSV
- 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
newtype KeepAliveInterval Source #
Constructors
| KeepAliveInterval | |
Fields | |
Arguments
| :: forall (m :: Type -> Type) peer. (MonadTimer m, Ord peer) | |
| => Tracer m (TraceKeepAliveClient peer) | |
| -> StdGen | |
| -> ControlMessageSTM m | |
| -> peer | |
| -> StrictTVar m (Map peer PeerGSV) | available from |
| -> KeepAliveInterval | |
| -> KeepAliveClient m () |
keepAliveServer :: forall (m :: Type -> Type). Applicative m => KeepAliveServer m () Source #
data TraceKeepAliveClient peer Source #
Instances
| Show peer => Show (TraceKeepAliveClient peer) Source # | |
Defined in Ouroboros.Network.KeepAlive Methods showsPrec :: Int -> TraceKeepAliveClient peer -> ShowS # show :: TraceKeepAliveClient peer -> String # showList :: [TraceKeepAliveClient peer] -> ShowS # | |
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 #