Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Synopsis
- localRootPeersProvider :: 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))] -> StrictTVar m [(HotValency, WarmValency, Map peerAddr (LocalRootConfig extraFlags))] -> m Void
- data TraceLocalRootPeers extraFlags peerAddr exception
- = TraceLocalRootDomains (Config extraFlags RelayAccessPoint)
- | TraceLocalRootWaiting DomainAccessPoint DiffTime
- | TraceLocalRootResult DomainAccessPoint [(IP, TTL)]
- | TraceLocalRootGroups (Config extraFlags peerAddr)
- | TraceLocalRootDNSMap (Map DomainAccessPoint [peerAddr])
- | TraceLocalRootReconfigured (Config extraFlags RelayAccessPoint) (Config extraFlags RelayAccessPoint)
- | TraceLocalRootFailure DomainAccessPoint (DNSorIOError exception)
- | TraceLocalRootError DomainAccessPoint SomeException
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 |
-> 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) |
|
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
(Show extraFlags, Show peerAddr, Show exception) => Show (TraceLocalRootPeers extraFlags peerAddr exception) Source # | |
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 # |