Safe Haskell | None |
---|---|
Language | Haskell2010 |
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, PeerTrustable))] -> StrictTVar m [(HotValency, WarmValency, Map peerAddr (PeerAdvertise, PeerTrustable))] -> m Void
- data TraceLocalRootPeers peerAddr exception
- = TraceLocalRootDomains (Config RelayAccessPoint)
- | TraceLocalRootWaiting DomainAccessPoint DiffTime
- | TraceLocalRootResult DomainAccessPoint [(IP, TTL)]
- | TraceLocalRootGroups (Config peerAddr)
- | TraceLocalRootDNSMap (Map DomainAccessPoint [peerAddr])
- | TraceLocalRootReconfigured (Config RelayAccessPoint) (Config RelayAccessPoint)
- | TraceLocalRootFailure DomainAccessPoint (DNSorIOError exception)
- | TraceLocalRootError DomainAccessPoint SomeException
DNS based provider for local root peers
localRootPeersProvider Source #
:: 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, PeerTrustable))] | input |
-> StrictTVar m [(HotValency, WarmValency, Map peerAddr (PeerAdvertise, PeerTrustable))] | 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 #
TraceLocalRootDomains (Config RelayAccessPoint) |
|
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 | |
| |
TraceLocalRootFailure DomainAccessPoint (DNSorIOError exception) | |
TraceLocalRootError DomainAccessPoint SomeException |
Instances
(Show peerAddr, Show exception) => Show (TraceLocalRootPeers peerAddr exception) Source # | |
Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers showsPrec :: Int -> TraceLocalRootPeers peerAddr exception -> ShowS # show :: TraceLocalRootPeers peerAddr exception -> String # showList :: [TraceLocalRootPeers peerAddr exception] -> ShowS # |