Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Synopsis
- localRootPeersProvider :: forall m peerAddr resolver exception. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr) => Tracer m (TraceLocalRootPeers peerAddr exception) -> (IP -> PortNumber -> peerAddr) -> ResolvConf -> DNSActions resolver exception m -> STM m [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] -> StrictTVar m [(HotValency, WarmValency, Map peerAddr PeerAdvertise)] -> m Void
- data TraceLocalRootPeers peerAddr exception
- = TraceLocalRootDomains [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)]
- | TraceLocalRootWaiting DomainAccessPoint DiffTime
- | TraceLocalRootResult DomainAccessPoint [(IP, TTL)]
- | TraceLocalRootGroups [(HotValency, WarmValency, Map peerAddr PeerAdvertise)]
- | TraceLocalRootDNSMap (Map DomainAccessPoint [peerAddr])
- | TraceLocalRootReconfigured [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)]
- | TraceLocalRootFailure DomainAccessPoint (DNSorIOError exception)
- | TraceLocalRootError DomainAccessPoint SomeException
DNS based provider for local root peers
localRootPeersProvider Source #
Arguments
:: forall m peerAddr resolver exception. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr) | |
=> Tracer m (TraceLocalRootPeers peerAddr exception) | |
-> (IP -> PortNumber -> peerAddr) | |
-> ResolvConf | |
-> DNSActions resolver exception m | |
-> STM m [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] | input |
-> StrictTVar m [(HotValency, WarmValency, Map peerAddr PeerAdvertise)] | output |
-> 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 [(HotValency, WarmValency, Map RelayAccessPoint PeerAdvertise)] |
|
TraceLocalRootWaiting DomainAccessPoint DiffTime | |
TraceLocalRootResult DomainAccessPoint [(IP, TTL)] | |
TraceLocalRootGroups [(HotValency, WarmValency, Map peerAddr PeerAdvertise)] | 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
(Show peerAddr, Show exception) => Show (TraceLocalRootPeers peerAddr exception) Source # | |