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 
-> 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 DomainAccessPoint DiffTime 
TraceLocalRootResult DomainAccessPoint [(IP, TTL)] 
TraceLocalRootGroups (Config extraFlags peerAddr)

This traces the results of the local root peer provider

TraceLocalRootDNSMap (Map DomainAccessPoint [peerAddr])

This traces the results of the domain name resolution

TraceLocalRootReconfigured 

Fields

TraceLocalRootFailure DomainAccessPoint (DNSorIOError exception) 
TraceLocalRootError DomainAccessPoint 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 #