ouroboros-network-framework-0.13.1.0: Ouroboros network framework
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.Subscription

Description

Public interface of Subscription workers.

Synopsis

IP Subscription Worker

ipSubscriptionWorker ∷ ∀ a. Snocket IO Socket SockAddrTracer IO (WithIPList (SubscriptionTrace SockAddr)) → Tracer IO (WithAddr SockAddr ErrorPolicyTrace) → NetworkMutableState SockAddrIPSubscriptionParams a → (SocketIO 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

DNS Subscription Worker

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.

Constants

defaultConnectionAttemptDelayDiffTime Source #

Time to wait between connection attempts when we don't have any DeltaQ info.

minConnectionAttemptDelayDiffTime Source #

Minimum time to wait between connection attempts.

maxConnectionAttemptDelayDiffTime Source #

Maximum time to wait between connection attempts.

ipRetryDelayDiffTime Source #

Minimum time to wait between ip reconnects

resolutionDelayDiffTime Source #

Time to wait for an AAAA response after receiving an A response.

Errors

Tracing

data WithIPList a Source #

Constructors

WithIPList 

Instances

Instances details
Show a ⇒ Show (WithIPList a) Source # 
Instance details

Defined in Ouroboros.Network.Subscription.Ip

Methods

showsPrecIntWithIPList a → ShowS #

showWithIPList a → String #

showList ∷ [WithIPList a] → ShowS #

data WithDomainName a Source #

Constructors

WithDomainName 

Fields

Instances

Instances details
Show a ⇒ Show (WithDomainName a) Source # 
Instance details

Defined in Ouroboros.Network.Subscription.Dns