| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Synopsis
- localRootPeersProvider :: forall m extraFlags peerAddr resolver. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr, Eq extraFlags) => Tracer m (TraceLocalRootPeers extraFlags peerAddr) -> PeerActionsDNS peerAddr resolver m -> ResolvConf -> StdGen -> STM m [(HotValency, WarmValency, Map RelayAccessPoint (LocalRootConfig extraFlags))] -> StrictTVar m [(HotValency, WarmValency, Map peerAddr (LocalRootConfig extraFlags))] -> m Void
- data TraceLocalRootPeers extraFlags peerAddr
- = TraceLocalRootDomains (Config extraFlags RelayAccessPoint)
- | TraceLocalRootWaiting RelayAccessPoint DiffTime
- | TraceLocalRootGroups (Config extraFlags peerAddr)
- | TraceLocalRootDNSMap (Map RelayAccessPoint [peerAddr])
- | TraceLocalRootReconfigured (Config extraFlags RelayAccessPoint) (Config extraFlags RelayAccessPoint)
- | TraceLocalRootFailure RelayAccessPoint DNSorIOError
- | TraceLocalRootError Domain SomeException
DNS based provider for local root peers
localRootPeersProvider Source #
Arguments
| :: forall m extraFlags peerAddr resolver. (Alternative (STM m), MonadAsync m, MonadDelay m, MonadThrow m, Ord peerAddr, Eq extraFlags) | |
| => Tracer m (TraceLocalRootPeers extraFlags peerAddr) | |
| -> PeerActionsDNS peerAddr resolver m | |
| -> ResolvConf | |
| -> StdGen | |
| -> 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 Source #
Constructors
| TraceLocalRootDomains (Config extraFlags RelayAccessPoint) |
|
| TraceLocalRootWaiting RelayAccessPoint DiffTime | |
| TraceLocalRootGroups (Config extraFlags peerAddr) | This traces the results of the local root peer provider |
| TraceLocalRootDNSMap (Map RelayAccessPoint [peerAddr]) | This traces the results of the domain name resolution |
| TraceLocalRootReconfigured | |
Fields
| |
| TraceLocalRootFailure RelayAccessPoint DNSorIOError | |
| TraceLocalRootError Domain SomeException | |
Instances
| (Show extraFlags, Show peerAddr) => Show (TraceLocalRootPeers extraFlags peerAddr) Source # | |
Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers Methods showsPrec :: Int -> TraceLocalRootPeers extraFlags peerAddr -> ShowS # show :: TraceLocalRootPeers extraFlags peerAddr -> String # showList :: [TraceLocalRootPeers extraFlags peerAddr] -> ShowS # | |