Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ouroboros.Network.Subscription
Description
Public interface of Subscription
workers.
Synopsis
- ipSubscriptionWorker ∷ ∀ a. Snocket IO Socket SockAddr → Tracer IO (WithIPList (SubscriptionTrace SockAddr)) → Tracer IO (WithAddr SockAddr ErrorPolicyTrace) → NetworkMutableState SockAddr → IPSubscriptionParams a → (Socket → IO a) → IO Void
- data IPSubscriptionTarget = IPSubscriptionTarget {
- ispIps ∷ ![SockAddr]
- ispValency ∷ !Int
- dnsSubscriptionWorker ∷ Snocket IO Socket SockAddr → Tracer IO (WithDomainName (SubscriptionTrace SockAddr)) → Tracer IO (WithDomainName DnsTrace) → Tracer IO (WithAddr SockAddr ErrorPolicyTrace) → NetworkMutableState SockAddr → DnsSubscriptionParams a → (Socket → IO a) → IO Void
- data DnsSubscriptionTarget = DnsSubscriptionTarget {
- dstDomain ∷ !Domain
- dstPort ∷ !PortNumber
- dstValency ∷ !Int
- data ConnectResult
- defaultConnectionAttemptDelay ∷ DiffTime
- minConnectionAttemptDelay ∷ DiffTime
- maxConnectionAttemptDelay ∷ DiffTime
- ipRetryDelay ∷ DiffTime
- resolutionDelay ∷ DiffTime
- data SubscriberError = SubscriberError {}
- data SubscriptionTrace addr
- = SubscriptionTraceConnectStart addr
- | SubscriptionTraceConnectEnd addr ConnectResult
- | ∀ e.Exception e ⇒ SubscriptionTraceSocketAllocationException addr e
- | ∀ e.Exception e ⇒ SubscriptionTraceConnectException addr e
- | ∀ e.Exception e ⇒ SubscriptionTraceApplicationException addr e
- | SubscriptionTraceTryConnectToPeer addr
- | SubscriptionTraceSkippingPeer addr
- | SubscriptionTraceSubscriptionRunning
- | SubscriptionTraceSubscriptionWaiting Int
- | SubscriptionTraceSubscriptionFailed
- | SubscriptionTraceSubscriptionWaitingNewConnection DiffTime
- | SubscriptionTraceStart Int
- | SubscriptionTraceRestart DiffTime Int Int
- | SubscriptionTraceConnectionExist addr
- | SubscriptionTraceUnsupportedRemoteAddr addr
- | SubscriptionTraceMissingLocalAddress
- | SubscriptionTraceAllocateSocket addr
- | SubscriptionTraceCloseSocket addr
- data WithIPList a = WithIPList {}
- data DnsTrace
- data WithDomainName a = WithDomainName {}
IP Subscription Worker
ipSubscriptionWorker ∷ ∀ a. Snocket IO Socket SockAddr → Tracer IO (WithIPList (SubscriptionTrace SockAddr)) → Tracer IO (WithAddr SockAddr ErrorPolicyTrace) → NetworkMutableState SockAddr → IPSubscriptionParams a → (Socket → IO a) → IO Void Source #
Spawns a subscription worker which will attempt to keep the specified number of connections (Valency) active towards the list of IP addresses given in IPSubscriptionTarget.
data IPSubscriptionTarget Source #
Constructors
IPSubscriptionTarget | |
Fields
|
Instances
Show IPSubscriptionTarget Source # | |
Defined in Ouroboros.Network.Subscription.Ip | |
Eq IPSubscriptionTarget Source # | |
Defined in Ouroboros.Network.Subscription.Ip Methods (==) ∷ IPSubscriptionTarget → IPSubscriptionTarget → Bool Source # (/=) ∷ IPSubscriptionTarget → IPSubscriptionTarget → Bool Source # |
DNS Subscription Worker
dnsSubscriptionWorker ∷ Snocket IO Socket SockAddr → Tracer IO (WithDomainName (SubscriptionTrace SockAddr)) → Tracer IO (WithDomainName DnsTrace) → Tracer IO (WithAddr SockAddr ErrorPolicyTrace) → NetworkMutableState SockAddr → DnsSubscriptionParams a → (Socket → IO a) → IO Void Source #
data DnsSubscriptionTarget Source #
Constructors
DnsSubscriptionTarget | |
Fields
|
Instances
Show DnsSubscriptionTarget Source # | |
Defined in Ouroboros.Network.Subscription.Dns | |
Eq DnsSubscriptionTarget Source # | |
Defined in Ouroboros.Network.Subscription.Dns Methods (==) ∷ DnsSubscriptionTarget → DnsSubscriptionTarget → Bool Source # (/=) ∷ DnsSubscriptionTarget → DnsSubscriptionTarget → Bool Source # |
data ConnectResult Source #
GADT which classifies connection result.
Constructors
ConnectSuccess | Successful connection. |
ConnectSuccessLast | Successfully connection, reached the valency target. Other ongoing connection attempts will be killed. |
ConnectValencyExceeded | Someone else manged to create the final connection to a target before us. |
Instances
Show ConnectResult Source # | |
Defined in Ouroboros.Network.Subscription.Worker | |
Eq ConnectResult Source # | |
Defined in Ouroboros.Network.Subscription.Worker Methods (==) ∷ ConnectResult → ConnectResult → Bool Source # (/=) ∷ ConnectResult → ConnectResult → Bool Source # | |
Ord ConnectResult Source # | |
Defined in Ouroboros.Network.Subscription.Worker Methods compare ∷ ConnectResult → ConnectResult → Ordering Source # (<) ∷ ConnectResult → ConnectResult → Bool Source # (<=) ∷ ConnectResult → ConnectResult → Bool Source # (>) ∷ ConnectResult → ConnectResult → Bool Source # (>=) ∷ ConnectResult → ConnectResult → Bool Source # max ∷ ConnectResult → ConnectResult → ConnectResult Source # min ∷ ConnectResult → ConnectResult → ConnectResult Source # |
Constants
defaultConnectionAttemptDelay ∷ DiffTime Source #
Time to wait between connection attempts when we don't have any DeltaQ info.
minConnectionAttemptDelay ∷ DiffTime Source #
Minimum time to wait between connection attempts.
maxConnectionAttemptDelay ∷ DiffTime Source #
Maximum time to wait between connection attempts.
ipRetryDelay ∷ DiffTime Source #
Minimum time to wait between ip reconnects
resolutionDelay ∷ DiffTime Source #
Time to wait for an AAAA response after receiving an A response.
Errors
data SubscriberError Source #
Constructors
SubscriberError | |
Instances
Tracing
data SubscriptionTrace addr Source #
Constructors
Instances
Show addr ⇒ Show (SubscriptionTrace addr) Source # | |
Defined in Ouroboros.Network.Subscription.Worker |
data WithIPList a Source #
Constructors
WithIPList | |
Instances
Show a ⇒ Show (WithIPList a) Source # | |
Defined in Ouroboros.Network.Subscription.Ip |
data WithDomainName a Source #
Constructors
WithDomainName | |
Instances
Show a ⇒ Show (WithDomainName a) Source # | |
Defined in Ouroboros.Network.Subscription.Dns |