ouroboros-network-framework-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.InboundGovernor.ControlChannel

Description

Intended to be imported qualified.

Synopsis

Documentation

data NewConnection peerAddr handle Source #

Announcment message for a new connection.

Constructors

NewConnection !Provenance !(ConnectionId peerAddr) !DataFlow !handle

Announce a new connection. Inbound protocol governor will start responder protocols using StartOnDemand strategy and monitor remote transitions: PromotedToWarm^{Duplex}_{Remote} and DemotedToCold^{dataFlow}_{Remote}.

Instances

Instances details
Show peerAddr ⇒ Show (NewConnection peerAddr handle) Source # 
Instance details

Defined in Ouroboros.Network.InboundGovernor.ControlChannel

Methods

showsPrecIntNewConnection peerAddr handle → ShowS Source #

showNewConnection peerAddr handle → String Source #

showList ∷ [NewConnection peerAddr handle] → ShowS Source #

data ControlChannel m msg Source #

Server control channel. It allows to pass STM transactions which will resolve to NewConnection. Server's monitoring thread is the consumer of this messages; there are two produceres: accept loop and connection handler for outbound connections.

Constructors

ControlChannel 

Fields

type ServerControlChannel (muxMode ∷ MuxMode) peerAddr bytes m a b = ControlChannel m (NewConnection peerAddr (Handle muxMode peerAddr bytes m a b)) Source #

newControlChannel ∷ ∀ m srvCntrlMsg. MonadLabelledSTM m ⇒ m (ControlChannel m srvCntrlMsg) Source #

newOutboundConnectionControlChannel m (NewConnection peerAddr handle) → ConnectionId peerAddr → DataFlow → handle → STM m () Source #

newInboundConnectionControlChannel m (NewConnection peerAddr handle) → ConnectionId peerAddr → DataFlow → handle → STM m () Source #