HORIZON HASKELLDocslts/ghc-9.14.xd82dee82026-10-12Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · d82dee8 · 2026-10-12

Modulenetwork-mux-0.11.0.0Haskell2010

Network.Mux.Types

Types used by the multiplexer.

  • 20 types
  • 9 values
datadata MiniProtocolInfo (mode :: Mode)
#

A static description of a mini-protocol.

Constructors

Instances1Show
newtypenewtype MiniProtocolNum
#

The wire format includes the protocol numbers, and it's vital that these are stable. They are not necessarily dense however, as new ones are added and some old ones retired. So we use a dedicated class for this rather than reusing Enum. This also covers unrecognised protocol numbers on the decoding side.

Instances5Enum, Eq, Ord, Show, Ix
datadata MiniProtocolDirection (mode :: Mode) where
#
Instances3Eq, Ord, Show

Strategy how to start a mini-protocol.

Constructors

Instances2Eq, Show
datadata Mode where
#

Statically configured multiplexer mode.

Constructors

  • InitiatorMode :: Mode

    Only execute initiator protocols. In this mode the multiplexer will only run its egress side.

  • ResponderMode :: Mode

    Only execute responder protocols. It this mode the multiplexer will only run its ingress side.

  • InitiatorResponderMode :: Mode

    Execute initiator and responder protocols. In this mode the multiplexer will run both ingress and egress sides.

datadata Status
#

Constructors

  • Ready

    Initial mux state, mux is ready to accept requests. It does not indicate weather mux thread was started or not.

  • Failed SomeException

    Mux failed with SomeException

  • Stopping

    Mux is being stopped; mux will not accept any new mini-protocols to start.

  • Stopped

    Mux stopped.

Instances1Show
  • Show StatusDefined in network-mux-0.11.0.0 · Network.Mux.Types
newtypenewtype MiniProtocolIx
#

The index of a protocol in a MuxApplication, used for array indices

Instances6Enum, Eq, Num, Ord, Show, Ix
datadata MiniProtocolDir
#
Instances6Bounded, Enum, Eq, Ord, Show, Ix
datadata Bearer (m :: Type -> Type)
#

Low level access to underlying socket or pipe. There are three smart constructors:

  • Network.Socket.socketAsBearer

  • Network.Pipe.pipeAsBearer

  • Test.Mux.queuesAsBearer

Constructors

newtypenewtype SDUSize
#

Constructors

Instances9Enum, Eq, Integral, Num, Ord, Real, …
datadata ReadBuffer (m :: Type -> Type)
#

ReadBuffer for Mux Bearers

This is used to read more data than whats currently needed in one syscall. Any extra data read is cached in rbVar until the next read request.

Constructors

datadata BearerTrace
#
Instances1Show