-- | Public interface of 'Ouroboros.Network.Subscription' workers.
--
module Ouroboros.Network.Subscription
    ( -- * IP Subscription Worker
      ipSubscriptionWorker
    , IPSubscriptionTarget (..)
      -- * DNS Subscription Worker
    , dnsSubscriptionWorker
    , DnsSubscriptionTarget (..)
    , ConnectResult (..)


      -- * Constants
    , defaultConnectionAttemptDelay
    , minConnectionAttemptDelay
    , maxConnectionAttemptDelay
    , ipRetryDelay
    , resolutionDelay

      -- * Errors
    , SubscriberError (..)

      -- * Tracing
    , SubscriptionTrace (..)
    , WithIPList (..)
    , DnsTrace (..)
    , WithDomainName (..)
    ) where

import           Ouroboros.Network.Subscription.Ip
import           Ouroboros.Network.Subscription.Dns
import           Ouroboros.Network.Subscription.Worker