Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Node.Genesis
Contents
Synopsis
- data GenesisConfig = GenesisConfig {}
- data GenesisConfigFlags = GenesisConfigFlags {}
- data LoEAndGDDConfig a
- defaultGenesisConfigFlags ∷ GenesisConfigFlags
- disableGenesisConfig ∷ GenesisConfig
- enableGenesisConfigDefault ∷ GenesisConfig
- mkGenesisConfig ∷ Maybe GenesisConfigFlags → GenesisConfig
- data GenesisNodeKernelArgs (m ∷ Type → Type) blk = GenesisNodeKernelArgs {
- gnkaLoEAndGDDArgs ∷ !(LoEAndGDDConfig (LoEAndGDDNodeKernelArgs m blk))
- data LoEAndGDDNodeKernelArgs (m ∷ Type → Type) blk = LoEAndGDDNodeKernelArgs {
- lgnkaLoEFragmentTVar ∷ !(StrictTVar m (GetLoEFragment m blk))
- lgnkaGDDRateLimit ∷ DiffTime
- mkGenesisNodeKernelArgs ∷ (IOLike m, GetHeader blk) ⇒ GenesisConfig → m (GenesisNodeKernelArgs m blk, Complete ChainDbArgs m blk → Complete ChainDbArgs m blk)
- setGetLoEFragment ∷ (IOLike m, GetHeader blk) ⇒ STM m GsmState → STM m (AnchoredFragment (Header blk)) → StrictTVar m (GetLoEFragment m blk) → m ()
GenesisConfig
data GenesisConfig Source #
Aggregating the various configs for Genesis-related subcomponents.
Usually, enableGenesisConfigDefault
or disableGenesisConfig
can be used.
See the haddocks of the types of the individual fields for details.
Constructors
GenesisConfig | |
Fields |
Instances
Generic GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Associated Types
| |||||
Show GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods showsPrec ∷ Int → GenesisConfig → ShowS # show ∷ GenesisConfig → String # showList ∷ [GenesisConfig] → ShowS # | |||||
Eq GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis | |||||
type Rep GenesisConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis |
data GenesisConfigFlags Source #
Genesis configuration flags and low-level args, as parsed from config file or CLI
Constructors
GenesisConfigFlags | |
Instances
data LoEAndGDDConfig a Source #
Whether to en-/disable the Limit on Eagerness and the Genesis Density Disconnector.
Constructors
LoEAndGDDEnabled !a | |
LoEAndGDDDisabled |
Instances
Functor LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods fmap ∷ (a → b) → LoEAndGDDConfig a → LoEAndGDDConfig b # (<$) ∷ a → LoEAndGDDConfig b → LoEAndGDDConfig a # | |||||
Foldable LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods fold ∷ Monoid m ⇒ LoEAndGDDConfig m → m # foldMap ∷ Monoid m ⇒ (a → m) → LoEAndGDDConfig a → m # foldMap' ∷ Monoid m ⇒ (a → m) → LoEAndGDDConfig a → m # foldr ∷ (a → b → b) → b → LoEAndGDDConfig a → b # foldr' ∷ (a → b → b) → b → LoEAndGDDConfig a → b # foldl ∷ (b → a → b) → b → LoEAndGDDConfig a → b # foldl' ∷ (b → a → b) → b → LoEAndGDDConfig a → b # foldr1 ∷ (a → a → a) → LoEAndGDDConfig a → a # foldl1 ∷ (a → a → a) → LoEAndGDDConfig a → a # toList ∷ LoEAndGDDConfig a → [a] # null ∷ LoEAndGDDConfig a → Bool # length ∷ LoEAndGDDConfig a → Int # elem ∷ Eq a ⇒ a → LoEAndGDDConfig a → Bool # maximum ∷ Ord a ⇒ LoEAndGDDConfig a → a # minimum ∷ Ord a ⇒ LoEAndGDDConfig a → a # sum ∷ Num a ⇒ LoEAndGDDConfig a → a # product ∷ Num a ⇒ LoEAndGDDConfig a → a # | |||||
Traversable LoEAndGDDConfig Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods traverse ∷ Applicative f ⇒ (a → f b) → LoEAndGDDConfig a → f (LoEAndGDDConfig b) # sequenceA ∷ Applicative f ⇒ LoEAndGDDConfig (f a) → f (LoEAndGDDConfig a) # mapM ∷ Monad m ⇒ (a → m b) → LoEAndGDDConfig a → m (LoEAndGDDConfig b) # sequence ∷ Monad m ⇒ LoEAndGDDConfig (m a) → m (LoEAndGDDConfig a) # | |||||
Generic (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Associated Types
Methods from ∷ LoEAndGDDConfig a → Rep (LoEAndGDDConfig a) x # to ∷ Rep (LoEAndGDDConfig a) x → LoEAndGDDConfig a # | |||||
Show a ⇒ Show (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods showsPrec ∷ Int → LoEAndGDDConfig a → ShowS # show ∷ LoEAndGDDConfig a → String # showList ∷ [LoEAndGDDConfig a] → ShowS # | |||||
Eq a ⇒ Eq (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis Methods (==) ∷ LoEAndGDDConfig a → LoEAndGDDConfig a → Bool # (/=) ∷ LoEAndGDDConfig a → LoEAndGDDConfig a → Bool # | |||||
type Rep (LoEAndGDDConfig a) Source # | |||||
Defined in Ouroboros.Consensus.Node.Genesis type Rep (LoEAndGDDConfig a) = D1 ('MetaData "LoEAndGDDConfig" "Ouroboros.Consensus.Node.Genesis" "ouroboros-consensus-diffusion-0.22.0.1-inplace" 'False) (C1 ('MetaCons "LoEAndGDDEnabled" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons "LoEAndGDDDisabled" 'PrefixI 'False) (U1 ∷ Type → Type)) |
disableGenesisConfig ∷ GenesisConfig Source #
Disable all Genesis components, yielding Praos behavior.
NodeKernel helpers
data GenesisNodeKernelArgs (m ∷ Type → Type) blk Source #
Genesis-related arguments needed by the NodeKernel initialization logic.
Constructors
GenesisNodeKernelArgs | |
Fields
|
data LoEAndGDDNodeKernelArgs (m ∷ Type → Type) blk Source #
Constructors
LoEAndGDDNodeKernelArgs | |
Fields
|
mkGenesisNodeKernelArgs ∷ (IOLike m, GetHeader blk) ⇒ GenesisConfig → m (GenesisNodeKernelArgs m blk, Complete ChainDbArgs m blk → Complete ChainDbArgs m blk) Source #
Create the initial 'GenesisNodeKernelArgs" (with a temporary
GetLoEFragment
that will be replaced via setGetLoEFragment
) and a
function to update the ChainDbArgs
accordingly.
Arguments
∷ (IOLike m, GetHeader blk) | |
⇒ STM m GsmState | |
→ STM m (AnchoredFragment (Header blk)) | The LoE fragment. |
→ StrictTVar m (GetLoEFragment m blk) | |
→ m () |
Set gnkaGetLoEFragment
to the actual logic for determining the current
LoE fragment.