ouroboros-network-0.16.0.0: A networking layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers

Synopsis

DNS based provider for local root peers

localRootPeersProvider Source #

Arguments

∷ ∀ m peerAddr resolver exception. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr) 
Tracer m (TraceLocalRootPeers peerAddr exception) 
→ (IPPortNumber → peerAddr) 
ResolvConf 
DNSActions resolver exception m 
STM m [(HotValency, WarmValency, Map RelayAccessPoint (PeerAdvertise, PeerTrustable))]

input

StrictTVar m [(HotValency, WarmValency, Map peerAddr (PeerAdvertise, PeerTrustable))]

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 peerAddr exception Source #

Constructors

TraceLocalRootDomains (Config RelayAccessPoint)

Int is the configured valency for the local producer groups

TraceLocalRootWaiting DomainAccessPoint DiffTime 
TraceLocalRootResult DomainAccessPoint [(IP, TTL)] 
TraceLocalRootGroups (Config 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 peerAddr, Show exception) ⇒ Show (TraceLocalRootPeers peerAddr exception) Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers

Methods

showsPrecIntTraceLocalRootPeers peerAddr exception → ShowS #

showTraceLocalRootPeers peerAddr exception → String #

showList ∷ [TraceLocalRootPeers peerAddr exception] → ShowS #