network-mux-0.1.0.1: Multiplexing library
Safe Haskell None
Language Haskell2010

Network.Mux.Types

Synopsis

Documentation

newtype MiniProtocolBundle (mode :: MuxMode ) Source #

Application run by mux layer.

  • enumeration of client application, e.g. a wallet application communicating with a node using ChainSync and TxSubmission protocols; this only requires to run client side of each protocol.
  • enumeration of server applications: this application type is mostly useful tests.
  • enumeration of both client and server applications, e.g. a full node serving downstream peers using server side of each protocol and getting updates from upstream peers using client side of each of the protocols.

newtype MiniProtocolNum Source #

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.

Instances

Instances details
Enum MiniProtocolNum Source #
Instance details

Defined in Network.Mux.Types

Eq MiniProtocolNum Source #
Instance details

Defined in Network.Mux.Types

Ord MiniProtocolNum Source #
Instance details

Defined in Network.Mux.Types

Show MiniProtocolNum Source #
Instance details

Defined in Network.Mux.Types

Ix MiniProtocolNum Source #
Instance details

Defined in Network.Mux.Types

data MiniProtocolLimits Source #

Per Miniprotocol limits

Constructors

MiniProtocolLimits

Fields

data MiniProtocolIx Source #

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

Instances

Instances details
Enum MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

Eq MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

Num MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

Ord MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

Show MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

Ix MiniProtocolIx Source #
Instance details

Defined in Network.Mux.Types

data MiniProtocolDir Source #

Instances

Instances details
Bounded MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

Enum MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

Eq MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

Ord MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

Show MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

Ix MiniProtocolDir Source #
Instance details

Defined in Network.Mux.Types

data MuxBearer m Source #

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

Constructors

MuxBearer

Fields