Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Network.PeerSelection.RootPeersDNS.DNSActions
Synopsis
- data DNSActions resolver exception m = DNSActions {
- dnsResolverResource ∷ ResolvConf → m (Resource m (DNSorIOError exception) resolver)
- dnsAsyncResolverResource ∷ ResolvConf → m (Resource m (DNSorIOError exception) resolver)
- dnsLookupWithTTL ∷ ResolvConf → resolver → Domain → m ([DNSError], [(IP, TTL)])
- ioDNSActions ∷ LookupReqs → DNSActions Resolver IOException IO
- data LookupReqs
- newtype Resource m err a = Resource {
- withResource ∷ m (Either err a, Resource m err a)
- withResource' ∷ MonadDelay m ⇒ Tracer m err → NonEmpty DiffTime → Resource m err a → m (a, Resource m err a)
- constantResource ∷ Applicative m ⇒ a → Resource m err a
- data DNSorIOError exception
DNS based actions for local and public root providers
data DNSActions resolver exception m Source #
Dictionary of DNS actions vocabulary
Constructors
DNSActions | |
Fields
|
DNSActions IO
ioDNSActions ∷ LookupReqs → DNSActions Resolver IOException IO Source #
Bundle of DNS Actions that runs in IO The IPv4 and IPv6 addresses the node will be using should determine the LookupReqs so that we can avoid lookups for address types that wont be used.
data LookupReqs Source #
Constructors
LookupReqAOnly | |
LookupReqAAAAOnly | |
LookupReqAAndAAAA |
Instances
Utils
Resource
newtype Resource m err a Source #
Evolving resource; We use it to reinitialise the dns library if the `etcresolv.conf` file was modified.
Constructors
Resource | |
Fields
|
Arguments
∷ MonadDelay m | |
⇒ Tracer m err | |
→ NonEmpty DiffTime | delays between each re-try |
→ Resource m err a | |
→ m (a, Resource m err a) |
Like withResource
but retries untill success.
constantResource ∷ Applicative m ⇒ a → Resource m err a Source #
Error type
data DNSorIOError exception Source #
Instances
Show exception ⇒ Show (DNSorIOError exception) Source # | |
Exception exception ⇒ Exception (DNSorIOError exception) Source # | |
Defined in Ouroboros.Network.PeerSelection.RootPeersDNS.DNSActions Methods toException ∷ DNSorIOError exception → SomeException Source # fromException ∷ SomeException → Maybe (DNSorIOError exception) Source # displayException ∷ DNSorIOError exception → String Source # |