ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.KeepAlive

Synopsis

Documentation

keepAliveClient Source #

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 KeepAliveRegistry

-> KeepAliveInterval 
-> KeepAliveClient m () 

keepAliveServer :: forall (m :: Type -> Type). Applicative m => KeepAliveServer m () Source #

data TraceKeepAliveClient peer Source #

Constructors

AddSample peer DiffTime PeerGSV 

Instances

Instances details
Show peer => Show (TraceKeepAliveClient peer) Source # 
Instance details

Defined in Ouroboros.Network.KeepAlive

data KeepAliveRegistry peer (m :: Type -> Type) Source #

A registry which keeps PeerGSV information based on `keep-alive` measurements.

Constructors

KeepAliveRegistry 

Fields

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 #

readPeerGSVs :: forall (m :: Type -> Type) peer. (MonadSTM m, Ord peer) => KeepAliveRegistry peer m -> STM m (Map peer PeerGSV) Source #

A read-only STM action to get the PeerGSVs for all fetch clients in the FetchClientRegistry.