Safe Haskell | None |
---|---|
Language | Haskell2010 |
Test.Ouroboros.Network.PeerSelection.RootPeersDNS
Synopsis
- tests :: TestTree
- mockDNSActions :: forall exception 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 () exception 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 exception 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 () exception 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 # |
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 # |