Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- localRootPeersProvider ∷ ∀ 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 #
∷ ∀ 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 # |