ouroboros-network:api
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Network.DiffusionMode

Synopsis

Documentation

data DiffusionMode Source #

The flag which indicates whether the node runs only initiator or both initiator or responder node.

This data structure has two proposes:

  • instruct the diffusion layer if it should listen on incoming connections;
  • it is communicated via NodeToNodeVersionData during handshake negotiation. In non-p2p mode we always send InitiatorOnlyDiffusionMode, in p2p mode we send exactly what the diffusion is given. In non-p2p mode every connection outbound port is ephemeral, the remote side cannot connect to it, however in p2p mode the outbound port is actually the port on which the node is listening (if it runs in InitiatorAndResponderDiffusionMode).

Instances

Instances details
NFData DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Methods

rnf :: DiffusionMode -> () #

Generic DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Associated Types

type Rep DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode = D1 ('MetaData "DiffusionMode" "Ouroboros.Network.DiffusionMode" "ouroboros-network-1.0.0.0-inplace-api" 'False) (C1 ('MetaCons "InitiatorOnlyDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InitiatorAndResponderDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type))
Show DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Eq DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Ord DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode Source # 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode = D1 ('MetaData "DiffusionMode" "Ouroboros.Network.DiffusionMode" "ouroboros-network-1.0.0.0-inplace-api" 'False) (C1 ('MetaCons "InitiatorOnlyDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InitiatorAndResponderDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type))