cardano-diffusion:api
Safe HaskellNone
LanguageHaskell2010

Cardano.Network.FetchMode

Synopsis

Documentation

mkReadFetchMode Source #

Arguments

:: Functor m 
=> ConsensusMode 
-> m LedgerStateJudgement

Used for GenesisMode.

-> m PraosFetchMode

Used for PraosMode for backwards compatibility.

-> m FetchMode 

Construct readFetchMode for BlockFetchConsensusInterface by branching on the ConsensusMode.

data ConsensusMode Source #

Diffusion layer configuration parameter.

The two modes determine which PeerSelectionTargets basis is used by churn and OG. The node's configuration sets this, and diffusion is initiated and remains only in this mode.

Constructors

GenesisMode

When LedgerStateJudgement is TooOld, the targets basis is changed from default to one specific for this mode, which uses more big ledger peers until syncing is complete.

PraosMode

The legacy mode which depends on official relays and/or bootstrap peers configuration. This mode uses only the default target basis irrespective ledger state.

Instances

Instances details
FromJSON ConsensusMode Source # 
Instance details

Defined in Cardano.Network.ConsensusMode

Generic ConsensusMode Source # 
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 Source # 
Instance details

Defined in Cardano.Network.ConsensusMode

Eq ConsensusMode Source # 
Instance details

Defined in Cardano.Network.ConsensusMode

type Rep ConsensusMode Source # 
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))

data LedgerStateJudgement Source #

Wether the node is caught up or fell too far behind the chain

Constructors

YoungEnough 
TooOld 

Instances

Instances details
Generic LedgerStateJudgement Source # 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

Associated Types

type Rep LedgerStateJudgement 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

type Rep LedgerStateJudgement = D1 ('MetaData "LedgerStateJudgement" "Cardano.Network.LedgerStateJudgement" "cardano-diffusion-0.1.0.0-inplace-api" 'False) (C1 ('MetaCons "YoungEnough" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TooOld" 'PrefixI 'False) (U1 :: Type -> Type))
Show LedgerStateJudgement Source # 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

Eq LedgerStateJudgement Source # 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

NoThunks LedgerStateJudgement Source # 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

type Rep LedgerStateJudgement Source # 
Instance details

Defined in Cardano.Network.LedgerStateJudgement

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

newtype Fingerprint #

Constructors

Fingerprint Word64 

Instances

Instances details
Enum Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Generic Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Associated Types

type Rep Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep Fingerprint = D1 ('MetaData "Fingerprint" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'True) (C1 ('MetaCons "Fingerprint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Show Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Eq Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

NoThunks Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep Fingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep Fingerprint = D1 ('MetaData "Fingerprint" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'True) (C1 ('MetaCons "Fingerprint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

data ChainSelStarvation #

Instances

Instances details
Generic ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Associated Types

type Rep ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep ChainSelStarvation = D1 ('MetaData "ChainSelStarvation" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'False) (C1 ('MetaCons "ChainSelStarvationOngoing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ChainSelStarvationEndedAt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Time)))
Show ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Eq ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

NoThunks ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep ChainSelStarvation 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep ChainSelStarvation = D1 ('MetaData "ChainSelStarvation" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'False) (C1 ('MetaCons "ChainSelStarvationOngoing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ChainSelStarvationEndedAt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Time)))

data WithFingerprint a #

Instances

Instances details
Functor WithFingerprint 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Methods

fmap :: (a -> b) -> WithFingerprint a -> WithFingerprint b #

(<$) :: a -> WithFingerprint b -> WithFingerprint a #

Generic (WithFingerprint a) 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

Associated Types

type Rep (WithFingerprint a) 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep (WithFingerprint a) = D1 ('MetaData "WithFingerprint" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'False) (C1 ('MetaCons "WithFingerprint" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetFingerprint") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "getFingerprint") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Fingerprint)))
Show a => Show (WithFingerprint a) 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

NoThunks a => NoThunks (WithFingerprint a) 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep (WithFingerprint a) 
Instance details

Defined in Ouroboros.Network.BlockFetch.ConsensusInterface

type Rep (WithFingerprint a) = D1 ('MetaData "WithFingerprint" "Ouroboros.Network.BlockFetch.ConsensusInterface" "ouroboros-network-0.23.0.0-inplace-api" 'False) (C1 ('MetaCons "WithFingerprint" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetFingerprint") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "getFingerprint") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Fingerprint)))

data BlockFetchConsensusInterface peer header block (m :: Type -> Type) #

Constructors

BlockFetchConsensusInterface 

Fields

data ChainComparison header #

Constructors

ChainComparison 

Fields