ouroboros-network-api
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.PeerSelection.Bootstrap

Synopsis

Documentation

data UseBootstrapPeers Source #

Instances

Instances details
Generic UseBootstrapPeers Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

Associated Types

type Rep UseBootstrapPeers 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

type Rep UseBootstrapPeers = D1 ('MetaData "UseBootstrapPeers" "Ouroboros.Network.PeerSelection.Bootstrap" "ouroboros-network-api-0.11.0.0-inplace" 'False) (C1 ('MetaCons "DontUseBootstrapPeers" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UseBootstrapPeers" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelayAccessPoint])))
Show UseBootstrapPeers Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

Eq UseBootstrapPeers Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

Ord UseBootstrapPeers Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

type Rep UseBootstrapPeers Source # 
Instance details

Defined in Ouroboros.Network.PeerSelection.Bootstrap

type Rep UseBootstrapPeers = D1 ('MetaData "UseBootstrapPeers" "Ouroboros.Network.PeerSelection.Bootstrap" "ouroboros-network-api-0.11.0.0-inplace" 'False) (C1 ('MetaCons "DontUseBootstrapPeers" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UseBootstrapPeers" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelayAccessPoint])))

requiresBootstrapPeers :: UseBootstrapPeers -> LedgerStateJudgement -> Bool Source #

Determines if the system is in a sensitive state based on bootstrap peer usage and ledger state.

  • When bootstrap peers are not in use, the system is considered to never be in a sensitive state.
  • When bootstrap peers are in use and the ledger is in YoungEnough state, the system is not in a sensitive state.
  • When bootstrap peers are in use and the ledger is in TooOld state, the system is considered to be in a sensitive state.

isNodeAbleToMakeProgress :: UseBootstrapPeers -> LedgerStateJudgement -> Bool -> Bool Source #

A node is able to make progress either if it isn't in a sensitive state _or_ if it is in a sensitive state and has reached a clean state from which it now only uses trustable peers