ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers

Synopsis

DNS based provider for local root peers

localRootPeersProvider Source #

Arguments

:: forall m extraFlags peerAddr resolver. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr, Eq extraFlags) 
=> Tracer m (TraceLocalRootPeers extraFlags peerAddr) 
-> PeerActionsDNS peerAddr resolver m 
-> ResolvConf 
-> StdGen 
-> STM m [(HotValency, WarmValency, Map RelayAccessPoint (LocalRootConfig extraFlags))]

input

-> StrictTVar m [(HotValency, WarmValency, Map peerAddr (LocalRootConfig extraFlags))]

output TVar

-> m Void 

Resolve RelayAddress-es of local root peers using dns if needed. Local roots are provided wrapped in a StrictTVar, which value might change (re-read form a config file). The resolved dns names are available through the output StrictTVar.

data TraceLocalRootPeers extraFlags peerAddr Source #

Constructors

TraceLocalRootDomains (Config extraFlags RelayAccessPoint)

Int is the configured valency for the local producer groups

TraceLocalRootWaiting RelayAccessPoint DiffTime 
TraceLocalRootGroups (Config extraFlags peerAddr)

This traces the results of the local root peer provider

TraceLocalRootDNSMap (Map RelayAccessPoint [peerAddr])

This traces the results of the domain name resolution

TraceLocalRootReconfigured 

Fields

TraceLocalRootFailure RelayAccessPoint DNSorIOError 
TraceLocalRootError Domain SomeException 

Instances

Instances details
(Show extraFlags, Show peerAddr) => Show (TraceLocalRootPeers extraFlags peerAddr) Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers

Methods

showsPrec :: Int -> TraceLocalRootPeers extraFlags peerAddr -> ShowS #

show :: TraceLocalRootPeers extraFlags peerAddr -> String #

showList :: [TraceLocalRootPeers extraFlags peerAddr] -> ShowS #