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 exception. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr, Eq extraFlags) 
=> Tracer m (TraceLocalRootPeers extraFlags peerAddr exception) 
-> PeerActionsDNS peerAddr resolver exception 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 exception 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 exception) 
TraceLocalRootError Domain SomeException 

Instances

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

Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers

Methods

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

show :: TraceLocalRootPeers extraFlags peerAddr exception -> String #

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