Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ouroboros.Network.InboundGovernor.ControlChannel
Description
Intended to be imported qualified.
Synopsis
- data NewConnection peerAddr handle = NewConnection !Provenance !(ConnectionId peerAddr) !DataFlow !handle
- data ControlChannel peerAddr handle m = ControlChannel {
- readMessage ∷ STM m (NewConnection peerAddr handle)
- writeMessage ∷ NewConnection peerAddr handle → STM m ()
- type ServerControlChannel (muxMode ∷ MuxMode) peerAddr versionData bytes m a b = ControlChannel peerAddr (Handle muxMode peerAddr versionData bytes m a b) m
- newControlChannel ∷ ∀ peerAddr handle m. MonadLabelledSTM m ⇒ m (ControlChannel peerAddr handle m)
Documentation
data NewConnection peerAddr handle Source #
Announcement message for a new connection.
Constructors
NewConnection !Provenance !(ConnectionId peerAddr) !DataFlow !handle | Announce a new connection. Inbound protocol governor will start
responder protocols using |
Instances
Show peerAddr ⇒ Show (NewConnection peerAddr handle) Source # | |
data ControlChannel peerAddr handle m Source #
Control channel. It allows to pass STM
transactions which will
resolve to NewConnection
. Server's monitoring thread is the consumer
of these messages; there are two producers: accept loop and connection
handler for outbound connections.
Constructors
ControlChannel | |
Fields
|
type ServerControlChannel (muxMode ∷ MuxMode) peerAddr versionData bytes m a b = ControlChannel peerAddr (Handle muxMode peerAddr versionData bytes m a b) m Source #
A Server control channel which instantiates handle
.
newControlChannel ∷ ∀ peerAddr handle m. MonadLabelledSTM m ⇒ m (ControlChannel peerAddr handle m) Source #