| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Ouroboros.Network.PeerSelection.RootPeersDNS
Synopsis
- tests :: TestTree
- mockDNSActions :: forall peerAddr (m :: Type -> Type). (MonadDelay m, MonadTimer m, MonadAsync m) => Tracer m DNSTrace -> DNSLookupType -> (IP -> PortNumber -> peerAddr) -> StrictTVar m MockDNSMap -> StrictTVar m (Script DNSTimeout) -> StrictTVar m (Script DNSLookupDelay) -> DNSActions peerAddr () m
- genGroupSrvs :: (Arbitrary prio, Arbitrary wt) => [(srv, [subordinate])] -> Gen [(srv, [(subordinate, prio, wt, PortNumber)])]
- genDomainName :: Gen ByteString
- data DomainAccessPoint
- data MockRoots = MockRoots {}
- type MockDNSMap = Map (Domain, TYPE) MockDNSLookupResult
- type MockDNSLookupResult = Either [(IP, TTL)] [(Domain, Word16, Word16, PortNumber)]
- newtype DNSTimeout = DNSTimeout {}
- newtype DNSLookupDelay = DNSLookupDelay {}
- data DelayAndTimeoutScripts = DelayAndTimeoutScripts (Script DNSLookupDelay) (Script DNSTimeout)
Documentation
mockDNSActions :: forall peerAddr (m :: Type -> Type). (MonadDelay m, MonadTimer m, MonadAsync m) => Tracer m DNSTrace -> DNSLookupType -> (IP -> PortNumber -> peerAddr) -> StrictTVar m MockDNSMap -> StrictTVar m (Script DNSTimeout) -> StrictTVar m (Script DNSLookupDelay) -> DNSActions peerAddr () m Source #
Mock DNSActions data structure for testing purposes. Adds DNS Lookup function for IOSim with different timeout and lookup delays for every attempt.
genGroupSrvs :: (Arbitrary prio, Arbitrary wt) => [(srv, [subordinate])] -> Gen [(srv, [(subordinate, prio, wt, PortNumber)])] Source #
data DomainAccessPoint Source #
Constructors
| DomainAccessPoint !Domain PortNumber | |
| DomainSRVAccessPoint !Domain |
Instances
| Arbitrary DomainAccessPoint Source # | |
| Show DomainAccessPoint Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods showsPrec :: Int -> DomainAccessPoint -> ShowS # show :: DomainAccessPoint -> String # showList :: [DomainAccessPoint] -> ShowS # | |
| Eq DomainAccessPoint Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods (==) :: DomainAccessPoint -> DomainAccessPoint -> Bool # (/=) :: DomainAccessPoint -> DomainAccessPoint -> Bool # | |
| Ord DomainAccessPoint Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods compare :: DomainAccessPoint -> DomainAccessPoint -> Ordering # (<) :: DomainAccessPoint -> DomainAccessPoint -> Bool # (<=) :: DomainAccessPoint -> DomainAccessPoint -> Bool # (>) :: DomainAccessPoint -> DomainAccessPoint -> Bool # (>=) :: DomainAccessPoint -> DomainAccessPoint -> Bool # max :: DomainAccessPoint -> DomainAccessPoint -> DomainAccessPoint # min :: DomainAccessPoint -> DomainAccessPoint -> DomainAccessPoint # | |
Constructors
| MockRoots | |
Fields
| |
type MockDNSMap = Map (Domain, TYPE) MockDNSLookupResult Source #
type MockDNSLookupResult = Either [(IP, TTL)] [(Domain, Word16, Word16, PortNumber)] Source #
newtype DNSTimeout Source #
Constructors
| DNSTimeout | |
Fields | |
Instances
| Arbitrary DNSTimeout Source # | |
| Show DNSTimeout Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods showsPrec :: Int -> DNSTimeout -> ShowS # show :: DNSTimeout -> String # showList :: [DNSTimeout] -> ShowS # | |
newtype DNSLookupDelay Source #
Constructors
| DNSLookupDelay | |
Fields | |
Instances
| Arbitrary DNSLookupDelay Source # | |
| Show DNSLookupDelay Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods showsPrec :: Int -> DNSLookupDelay -> ShowS # show :: DNSLookupDelay -> String # showList :: [DNSLookupDelay] -> ShowS # | |
data DelayAndTimeoutScripts Source #
Delay and timeout script which make sure that eventually the dns lookup will not timeout.
Constructors
| DelayAndTimeoutScripts (Script DNSLookupDelay) (Script DNSTimeout) |
Instances
| Arbitrary DelayAndTimeoutScripts Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods arbitrary :: Gen DelayAndTimeoutScripts # shrink :: DelayAndTimeoutScripts -> [DelayAndTimeoutScripts] # | |
| Show DelayAndTimeoutScripts Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.RootPeersDNS Methods showsPrec :: Int -> DelayAndTimeoutScripts -> ShowS # show :: DelayAndTimeoutScripts -> String # showList :: [DelayAndTimeoutScripts] -> ShowS # | |