cardano-diffusion
Safe HaskellNone
LanguageHaskell2010

Cardano.Network.Diffusion.Types

Contents

Synopsis

Documentation

data CardanoNodeArguments (m :: Type -> Type) Source #

Arguments required to instantiate Cardano Node Diffusion

Constructors

CardanoNodeArguments 

Fields

data CardanoConsensusArguments ntnAddr (m :: Type -> Type) Source #

Arguments required to instantiate Cardano Node Diffusion.

Constructors

CardanoConsensusArguments 

Fields

data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace (m :: Type -> Type) #

Diffusion Tracers

Constructors

Tracers 

Fields

nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers extraCounters extraTrace m #

data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr #

Required Diffusion Arguments to run network layer

Constructors

Configuration 

Fields

data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) a #

Versioned mini-protocol bundles run on a negotiated connection.

Constructors

Applications 

Fields

Re-exports

data PeerMetrics (m :: Type -> Type) p #

Mutable peer metrics state accessible via STM.

data PeerSelectionTargets #

Adjustable targets for the peer selection mechanism.

These are used by the peer selection governor as targets. They are used by the peer churn governor loop as knobs to adjust, to influence the peer selection governor.

The known, established and active peer targets are targets both from below and from above: the governor will attempt to grow or shrink the sets to hit these targets.

Unlike the other targets, the root peer target is "one sided", it is only a target from below. The governor does not try to shrink the root set to hit it, it simply stops looking for more.

There is also an implicit target that enough local root peers are selected as active. This comes from the configuration for local roots, and is not an independently adjustable target.

data ConsensusMode #

Constructors

GenesisMode 
PraosMode 

Instances

Instances details
FromJSON ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

Generic ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

Associated Types

type Rep ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

type Rep ConsensusMode = D1 ('MetaData "ConsensusMode" "Cardano.Network.ConsensusMode" "cardano-diffusion-0.1.0.0-inplace-api" 'False) (C1 ('MetaCons "GenesisMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PraosMode" 'PrefixI 'False) (U1 :: Type -> Type))
Show ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

Eq ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

type Rep ConsensusMode 
Instance details

Defined in Cardano.Network.ConsensusMode

type Rep ConsensusMode = D1 ('MetaData "ConsensusMode" "Cardano.Network.ConsensusMode" "cardano-diffusion-0.1.0.0-inplace-api" 'False) (C1 ('MetaCons "GenesisMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PraosMode" 'PrefixI 'False) (U1 :: Type -> Type))