Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Storage.ChainDB.Impl
Synopsis
- data ChainDbArgs (f ∷ Type → Type) (m ∷ Type → Type) blk = ChainDbArgs {
- cdbImmDbArgs ∷ ImmutableDbArgs f m blk
- cdbVolDbArgs ∷ VolatileDbArgs f m blk
- cdbLgrDbArgs ∷ LedgerDbArgs f m blk
- cdbsArgs ∷ ChainDbSpecificArgs f m blk
- class (ImmutableDbSerialiseConstraints blk, LedgerDbSerialiseConstraints blk, VolatileDbSerialiseConstraints blk, EncodeDiskDep (NestedCtxt Header) blk) ⇒ SerialiseDiskConstraints blk
- defaultArgs ∷ ∀ (m ∷ Type → Type) blk. Monad m ⇒ Incomplete ChainDbArgs m blk
- openDB ∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, LedgerSupportsLedgerDB blk) ⇒ Complete ChainDbArgs m blk → m (ChainDB m blk)
- withDB ∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, LedgerSupportsLedgerDB blk) ⇒ Complete ChainDbArgs m blk → (ChainDB m blk → m a) → m a
- data SelectionChangedInfo blk = SelectionChangedInfo {
- newTipPoint ∷ RealPoint blk
- newTipEpoch ∷ EpochNo
- newTipSlotInEpoch ∷ Word64
- newTipTrigger ∷ RealPoint blk
- newTipSelectView ∷ SelectView (BlockProtocol blk)
- oldTipSelectView ∷ Maybe (SelectView (BlockProtocol blk))
- data TraceAddBlockEvent blk
- = IgnoreBlockOlderThanK (RealPoint blk)
- | IgnoreBlockAlreadyInVolatileDB (RealPoint blk)
- | IgnoreInvalidBlock (RealPoint blk) (ExtValidationError blk)
- | AddedBlockToQueue (RealPoint blk) (Enclosing' Word)
- | PoppedBlockFromQueue (Enclosing' (RealPoint blk))
- | AddedReprocessLoEBlocksToQueue
- | PoppedReprocessLoEBlocksFromQueue
- | AddedBlockToVolatileDB (RealPoint blk) BlockNo IsEBB Enclosing
- | TryAddToCurrentChain (RealPoint blk)
- | TrySwitchToAFork (RealPoint blk) (ChainDiff (HeaderFields blk))
- | StoreButDontChange (RealPoint blk)
- | ChainSelectionLoEDebug (AnchoredFragment (Header blk)) (LoE (AnchoredFragment (Header blk)))
- | AddedToCurrentChain [LedgerEvent blk] (SelectionChangedInfo blk) (AnchoredFragment (Header blk)) (AnchoredFragment (Header blk))
- | SwitchedToAFork [LedgerEvent blk] (SelectionChangedInfo blk) (AnchoredFragment (Header blk)) (AnchoredFragment (Header blk))
- | AddBlockValidation (TraceValidationEvent blk)
- | PipeliningEvent (TracePipeliningEvent blk)
- | ChangingSelection (Point blk)
- newtype TraceChainSelStarvationEvent blk = ChainSelStarvation (Enclosing' (RealPoint blk))
- data TraceCopyToImmutableDBEvent blk
- data TraceEvent blk
- = TraceAddBlockEvent (TraceAddBlockEvent blk)
- | TraceFollowerEvent (TraceFollowerEvent blk)
- | TraceCopyToImmutableDBEvent (TraceCopyToImmutableDBEvent blk)
- | TraceGCEvent (TraceGCEvent blk)
- | TraceInitChainSelEvent (TraceInitChainSelEvent blk)
- | TraceOpenEvent (TraceOpenEvent blk)
- | TraceIteratorEvent (TraceIteratorEvent blk)
- | TraceLedgerDBEvent (TraceEvent blk)
- | TraceImmutableDBEvent (TraceEvent blk)
- | TraceVolatileDBEvent (TraceEvent blk)
- | TraceLastShutdownUnclean
- | TraceChainSelStarvationEvent (TraceChainSelStarvationEvent blk)
- data TraceFollowerEvent blk
- = NewFollower
- | FollowerNoLongerInMem (FollowerRollState blk)
- | FollowerSwitchToMem (Point blk) (WithOrigin SlotNo)
- | FollowerNewImmIterator (Point blk) (WithOrigin SlotNo)
- data TraceGCEvent blk
- data TraceInitChainSelEvent blk
- data TraceIteratorEvent blk
- = UnknownRangeRequested (UnknownRange blk)
- | StreamFromVolatileDB (StreamFrom blk) (StreamTo blk) [RealPoint blk]
- | StreamFromImmutableDB (StreamFrom blk) (StreamTo blk)
- | StreamFromBoth (StreamFrom blk) (StreamTo blk) [RealPoint blk]
- | BlockMissingFromVolatileDB (RealPoint blk)
- | BlockWasCopiedToImmutableDB (RealPoint blk)
- | BlockGCedFromVolatileDB (RealPoint blk)
- | SwitchBackToVolatileDB
- data TraceOpenEvent blk
- = StartedOpeningDB
- | OpenedDB (Point blk) (Point blk)
- | ClosedDB (Point blk) (Point blk)
- | StartedOpeningImmutableDB
- | OpenedImmutableDB (Point blk) ChunkNo
- | StartedOpeningVolatileDB
- | OpenedVolatileDB MaxSlotNo
- | StartedOpeningLgrDB
- | OpenedLgrDB
- data TracePipeliningEvent blk
- = SetTentativeHeader (Header blk) Enclosing
- | TrapTentativeHeader (Header blk)
- | OutdatedTentativeHeader (Header blk)
- data TraceValidationEvent blk
- = InvalidBlock (ExtValidationError blk) (RealPoint blk)
- | ValidCandidate (AnchoredFragment (Header blk))
- | UpdateLedgerDbTraceEvent (TraceValidateEvent blk)
- newtype RelativeMountPoint = RelativeMountPoint FilePath
- type ImmutableDbSerialiseConstraints blk = (EncodeDisk blk blk, DecodeDisk blk (ByteString → blk), DecodeDiskDep (NestedCtxt Header) blk, ReconstructNestedCtxt Header blk, HasBinaryBlockInfo blk)
- type LedgerDbSerialiseConstraints blk = (Serialise (HeaderHash blk), EncodeDisk blk (LedgerState blk EmptyMK), DecodeDisk blk (LedgerState blk EmptyMK), EncodeDisk blk (AnnTip blk), DecodeDisk blk (AnnTip blk), EncodeDisk blk (ChainDepState (BlockProtocol blk)), DecodeDisk blk (ChainDepState (BlockProtocol blk)), MemPack (TxIn (LedgerState blk)), SerializeTablesWithHint (LedgerState blk), IndexedMemPack (LedgerState blk EmptyMK) (TxOut (LedgerState blk)))
- type VolatileDbSerialiseConstraints blk = (EncodeDisk blk blk, DecodeDisk blk (ByteString → blk), DecodeDiskDep (NestedCtxt Header) blk, HasNestedContent Header blk, HasBinaryBlockInfo blk)
- data Internal (m ∷ Type → Type) blk = Internal {
- intCopyToImmutableDB ∷ m (WithOrigin SlotNo)
- intGarbageCollect ∷ SlotNo → m ()
- intTryTakeSnapshot ∷ m ()
- intAddBlockRunner ∷ m Void
- intKillBgThreads ∷ StrictTVar m (m ())
- openDBInternal ∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, HasCallStack, LedgerSupportsLedgerDB blk) ⇒ Complete ChainDbArgs m blk → Bool → m (ChainDB m blk, Internal m blk)
Initialization
data ChainDbArgs (f ∷ Type → Type) (m ∷ Type → Type) blk Source #
Constructors
ChainDbArgs | |
Fields
|
class (ImmutableDbSerialiseConstraints blk, LedgerDbSerialiseConstraints blk, VolatileDbSerialiseConstraints blk, EncodeDiskDep (NestedCtxt Header) blk) ⇒ SerialiseDiskConstraints blk Source #
All the serialisation related constraints needed by the ChainDB.
Instances
defaultArgs ∷ ∀ (m ∷ Type → Type) blk. Monad m ⇒ Incomplete ChainDbArgs m blk Source #
Default arguments
See defaultArgs
, defaultArgs
, defaultArgs
,
and defaultSpecificArgs
for a list of which fields are not given a default
and must therefore be set explicitly.
openDB ∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, LedgerSupportsLedgerDB blk) ⇒ Complete ChainDbArgs m blk → m (ChainDB m blk) Source #
withDB ∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, LedgerSupportsLedgerDB blk) ⇒ Complete ChainDbArgs m blk → (ChainDB m blk → m a) → m a Source #
Trace types
data SelectionChangedInfo blk Source #
Information on having changed our selection to a chain with a (necessarily) new tip.
NOTE: the fields of this record are intentionally lazy to prevent the forcing of this information in case it doesn't have to be traced. However, this means that the tracer processing this message must not hold on to it, otherwise it leaks memory.
Constructors
SelectionChangedInfo | |
Fields
|
Instances
data TraceAddBlockEvent blk Source #
Trace type for the various events that occur when adding a block.
Constructors
IgnoreBlockOlderThanK (RealPoint blk) | A block with a |
IgnoreBlockAlreadyInVolatileDB (RealPoint blk) | A block that is already in the Volatile DB was ignored. |
IgnoreInvalidBlock (RealPoint blk) (ExtValidationError blk) | A block that is know to be invalid was ignored. |
AddedBlockToQueue (RealPoint blk) (Enclosing' Word) | The block was added to the queue and will be added to the ChainDB by the background thread. The size of the queue is included. |
PoppedBlockFromQueue (Enclosing' (RealPoint blk)) | The block popped from the queue and will imminently be added to the ChainDB. |
AddedReprocessLoEBlocksToQueue | A message was added to the queue that requests that ChainSel reprocess blocks that were postponed by the LoE. |
PoppedReprocessLoEBlocksFromQueue | ChainSel will reprocess blocks that were postponed by the LoE. |
AddedBlockToVolatileDB (RealPoint blk) BlockNo IsEBB Enclosing | A block was added to the Volatile DB |
TryAddToCurrentChain (RealPoint blk) | The block fits onto the current chain, we'll try to use it to extend our chain. |
TrySwitchToAFork (RealPoint blk) (ChainDiff (HeaderFields blk)) | The block fits onto some fork, we'll try to switch to that fork (if it is preferable to our chain). |
StoreButDontChange (RealPoint blk) | The block doesn't fit onto any other block, so we store it and ignore it. |
ChainSelectionLoEDebug (AnchoredFragment (Header blk)) (LoE (AnchoredFragment (Header blk))) | Debugging information about chain selection and LoE |
AddedToCurrentChain [LedgerEvent blk] (SelectionChangedInfo blk) (AnchoredFragment (Header blk)) (AnchoredFragment (Header blk)) | The new block fits onto the current chain (first fragment) and we have successfully used it to extend our (new) current chain (second fragment). |
SwitchedToAFork [LedgerEvent blk] (SelectionChangedInfo blk) (AnchoredFragment (Header blk)) (AnchoredFragment (Header blk)) | The new block fits onto some fork and we have switched to that fork (second fragment), as it is preferable to our (previous) current chain (first fragment). |
AddBlockValidation (TraceValidationEvent blk) | An event traced during validating performed while adding a block. |
PipeliningEvent (TracePipeliningEvent blk) | The tentative header (in the context of diffusion pipelining) has been updated. |
ChangingSelection (Point blk) | Herald of |
Instances
Generic (TraceAddBlockEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceAddBlockEvent blk → Rep (TraceAddBlockEvent blk) x # to ∷ Rep (TraceAddBlockEvent blk) x → TraceAddBlockEvent blk # | |||||
(Show (Header blk), LedgerSupportsProtocol blk, InspectLedger blk) ⇒ Show (TraceAddBlockEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceAddBlockEvent blk → ShowS # show ∷ TraceAddBlockEvent blk → String # showList ∷ [TraceAddBlockEvent blk] → ShowS # | |||||
(Eq (Header blk), LedgerSupportsProtocol blk, InspectLedger blk) ⇒ Eq (TraceAddBlockEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceAddBlockEvent blk → TraceAddBlockEvent blk → Bool # (/=) ∷ TraceAddBlockEvent blk → TraceAddBlockEvent blk → Bool # | |||||
type Rep (TraceAddBlockEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceAddBlockEvent blk) = D1 ('MetaData "TraceAddBlockEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) ((((C1 ('MetaCons "IgnoreBlockOlderThanK" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: C1 ('MetaCons "IgnoreBlockAlreadyInVolatileDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)))) :+: (C1 ('MetaCons "IgnoreInvalidBlock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ExtValidationError blk))) :+: C1 ('MetaCons "AddedBlockToQueue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Enclosing' Word))))) :+: ((C1 ('MetaCons "PoppedBlockFromQueue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Enclosing' (RealPoint blk)))) :+: C1 ('MetaCons "AddedReprocessLoEBlocksToQueue" 'PrefixI 'False) (U1 ∷ Type → Type)) :+: (C1 ('MetaCons "PoppedReprocessLoEBlocksFromQueue" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "AddedBlockToVolatileDB" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BlockNo)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IsEBB) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Enclosing)))))) :+: (((C1 ('MetaCons "TryAddToCurrentChain" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: C1 ('MetaCons "TrySwitchToAFork" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ChainDiff (HeaderFields blk))))) :+: (C1 ('MetaCons "StoreButDontChange" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: C1 ('MetaCons "ChainSelectionLoEDebug" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LoE (AnchoredFragment (Header blk))))))) :+: ((C1 ('MetaCons "AddedToCurrentChain" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LedgerEvent blk]) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SelectionChangedInfo blk))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk))))) :+: C1 ('MetaCons "SwitchedToAFork" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LedgerEvent blk]) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SelectionChangedInfo blk))) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk))) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk)))))) :+: (C1 ('MetaCons "AddBlockValidation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceValidationEvent blk))) :+: (C1 ('MetaCons "PipeliningEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TracePipeliningEvent blk))) :+: C1 ('MetaCons "ChangingSelection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)))))))) |
newtype TraceChainSelStarvationEvent blk Source #
Chain selection is starved when the background thread runs out of work. This is the usual case and innocent while caught-up; but while syncing, it means that we are downloading blocks at a smaller rate than we can validate them, even though we generally expect to be CPU-bound.
TODO: Investigate why it happens regularly during syncing for very short times.
The point in the trace is the block that finished the starvation.
Constructors
ChainSelStarvation (Enclosing' (RealPoint blk)) |
Instances
Generic (TraceChainSelStarvationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceChainSelStarvationEvent blk → Rep (TraceChainSelStarvationEvent blk) x # to ∷ Rep (TraceChainSelStarvationEvent blk) x → TraceChainSelStarvationEvent blk # | |||||
StandardHash blk ⇒ Show (TraceChainSelStarvationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceChainSelStarvationEvent blk → ShowS # show ∷ TraceChainSelStarvationEvent blk → String # showList ∷ [TraceChainSelStarvationEvent blk] → ShowS # | |||||
StandardHash blk ⇒ Eq (TraceChainSelStarvationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceChainSelStarvationEvent blk → TraceChainSelStarvationEvent blk → Bool # (/=) ∷ TraceChainSelStarvationEvent blk → TraceChainSelStarvationEvent blk → Bool # | |||||
type Rep (TraceChainSelStarvationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceChainSelStarvationEvent blk) = D1 ('MetaData "TraceChainSelStarvationEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'True) (C1 ('MetaCons "ChainSelStarvation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Enclosing' (RealPoint blk))))) |
data TraceCopyToImmutableDBEvent blk Source #
Constructors
CopiedBlockToImmutableDB (Point blk) | A block was successfully copied to the ImmutableDB. |
NoBlocksToCopyToImmutableDB | There are no block to copy to the ImmutableDB. |
Instances
Generic (TraceCopyToImmutableDBEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceCopyToImmutableDBEvent blk → Rep (TraceCopyToImmutableDBEvent blk) x # to ∷ Rep (TraceCopyToImmutableDBEvent blk) x → TraceCopyToImmutableDBEvent blk # | |||||
StandardHash blk ⇒ Show (TraceCopyToImmutableDBEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceCopyToImmutableDBEvent blk → ShowS # show ∷ TraceCopyToImmutableDBEvent blk → String # showList ∷ [TraceCopyToImmutableDBEvent blk] → ShowS # | |||||
StandardHash blk ⇒ Eq (TraceCopyToImmutableDBEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceCopyToImmutableDBEvent blk → TraceCopyToImmutableDBEvent blk → Bool # (/=) ∷ TraceCopyToImmutableDBEvent blk → TraceCopyToImmutableDBEvent blk → Bool # | |||||
type Rep (TraceCopyToImmutableDBEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceCopyToImmutableDBEvent blk) = D1 ('MetaData "TraceCopyToImmutableDBEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "CopiedBlockToImmutableDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk))) :+: C1 ('MetaCons "NoBlocksToCopyToImmutableDB" 'PrefixI 'False) (U1 ∷ Type → Type)) |
data TraceEvent blk Source #
Trace type for the various events of the ChainDB.
Constructors
TraceAddBlockEvent (TraceAddBlockEvent blk) | |
TraceFollowerEvent (TraceFollowerEvent blk) | |
TraceCopyToImmutableDBEvent (TraceCopyToImmutableDBEvent blk) | |
TraceGCEvent (TraceGCEvent blk) | |
TraceInitChainSelEvent (TraceInitChainSelEvent blk) | |
TraceOpenEvent (TraceOpenEvent blk) | |
TraceIteratorEvent (TraceIteratorEvent blk) | |
TraceLedgerDBEvent (TraceEvent blk) | |
TraceImmutableDBEvent (TraceEvent blk) | |
TraceVolatileDBEvent (TraceEvent blk) | |
TraceLastShutdownUnclean | |
TraceChainSelStarvationEvent (TraceChainSelStarvationEvent blk) |
Instances
Generic (TraceEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceEvent blk → Rep (TraceEvent blk) x # to ∷ Rep (TraceEvent blk) x → TraceEvent blk # | |||||
(Show (Header blk), LedgerSupportsProtocol blk, InspectLedger blk) ⇒ Show (TraceEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceEvent blk → ShowS # show ∷ TraceEvent blk → String # showList ∷ [TraceEvent blk] → ShowS # | |||||
(Eq (Header blk), LedgerSupportsProtocol blk, InspectLedger blk) ⇒ Eq (TraceEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceEvent blk → TraceEvent blk → Bool # (/=) ∷ TraceEvent blk → TraceEvent blk → Bool # | |||||
type Rep (TraceEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceEvent blk) = D1 ('MetaData "TraceEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (((C1 ('MetaCons "TraceAddBlockEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceAddBlockEvent blk))) :+: (C1 ('MetaCons "TraceFollowerEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceFollowerEvent blk))) :+: C1 ('MetaCons "TraceCopyToImmutableDBEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceCopyToImmutableDBEvent blk))))) :+: (C1 ('MetaCons "TraceGCEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceGCEvent blk))) :+: (C1 ('MetaCons "TraceInitChainSelEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceInitChainSelEvent blk))) :+: C1 ('MetaCons "TraceOpenEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceOpenEvent blk)))))) :+: ((C1 ('MetaCons "TraceIteratorEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceIteratorEvent blk))) :+: (C1 ('MetaCons "TraceLedgerDBEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceEvent blk))) :+: C1 ('MetaCons "TraceImmutableDBEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceEvent blk))))) :+: (C1 ('MetaCons "TraceVolatileDBEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceEvent blk))) :+: (C1 ('MetaCons "TraceLastShutdownUnclean" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "TraceChainSelStarvationEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceChainSelStarvationEvent blk))))))) |
data TraceFollowerEvent blk Source #
Constructors
NewFollower | A new follower was created. |
FollowerNoLongerInMem (FollowerRollState blk) | The follower was in the |
FollowerSwitchToMem | The follower was in the |
Fields
| |
FollowerNewImmIterator | The follower is in the |
Fields
|
Instances
Generic (TraceFollowerEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceFollowerEvent blk → Rep (TraceFollowerEvent blk) x # to ∷ Rep (TraceFollowerEvent blk) x → TraceFollowerEvent blk # | |||||
StandardHash blk ⇒ Show (TraceFollowerEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceFollowerEvent blk → ShowS # show ∷ TraceFollowerEvent blk → String # showList ∷ [TraceFollowerEvent blk] → ShowS # | |||||
StandardHash blk ⇒ Eq (TraceFollowerEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceFollowerEvent blk → TraceFollowerEvent blk → Bool # (/=) ∷ TraceFollowerEvent blk → TraceFollowerEvent blk → Bool # | |||||
type Rep (TraceFollowerEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceFollowerEvent blk) = D1 ('MetaData "TraceFollowerEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) ((C1 ('MetaCons "NewFollower" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "FollowerNoLongerInMem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FollowerRollState blk)))) :+: (C1 ('MetaCons "FollowerSwitchToMem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (WithOrigin SlotNo))) :+: C1 ('MetaCons "FollowerNewImmIterator" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (WithOrigin SlotNo))))) |
data TraceGCEvent blk Source #
Constructors
ScheduledGC SlotNo Time | A garbage collection for the given |
PerformedGC SlotNo | A garbage collection for the given |
Instances
Generic (TraceGCEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceGCEvent blk → Rep (TraceGCEvent blk) x # to ∷ Rep (TraceGCEvent blk) x → TraceGCEvent blk # | |||||
Show (TraceGCEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceGCEvent blk → ShowS # show ∷ TraceGCEvent blk → String # showList ∷ [TraceGCEvent blk] → ShowS # | |||||
Eq (TraceGCEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceGCEvent blk → TraceGCEvent blk → Bool # (/=) ∷ TraceGCEvent blk → TraceGCEvent blk → Bool # | |||||
type Rep (TraceGCEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceGCEvent blk) = D1 ('MetaData "TraceGCEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "ScheduledGC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SlotNo) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Time)) :+: C1 ('MetaCons "PerformedGC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SlotNo))) |
data TraceInitChainSelEvent blk Source #
Constructors
StartedInitChainSelection | An event traced when inital chain selection has started during the initialization of ChainDB |
InitialChainSelected | An event traced when inital chain has been selected |
InitChainSelValidation (TraceValidationEvent blk) | An event traced during validation performed while performing initial chain selection. |
Instances
Generic (TraceInitChainSelEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceInitChainSelEvent blk → Rep (TraceInitChainSelEvent blk) x # to ∷ Rep (TraceInitChainSelEvent blk) x → TraceInitChainSelEvent blk # | |||||
(Show (Header blk), LedgerSupportsProtocol blk) ⇒ Show (TraceInitChainSelEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceInitChainSelEvent blk → ShowS # show ∷ TraceInitChainSelEvent blk → String # showList ∷ [TraceInitChainSelEvent blk] → ShowS # | |||||
(Eq (Header blk), LedgerSupportsProtocol blk) ⇒ Eq (TraceInitChainSelEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceInitChainSelEvent blk → TraceInitChainSelEvent blk → Bool # (/=) ∷ TraceInitChainSelEvent blk → TraceInitChainSelEvent blk → Bool # | |||||
type Rep (TraceInitChainSelEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceInitChainSelEvent blk) = D1 ('MetaData "TraceInitChainSelEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "StartedInitChainSelection" 'PrefixI 'False) (U1 ∷ Type → Type) :+: (C1 ('MetaCons "InitialChainSelected" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "InitChainSelValidation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceValidationEvent blk))))) |
data TraceIteratorEvent blk Source #
Constructors
UnknownRangeRequested (UnknownRange blk) | An unknown range was requested, see |
StreamFromVolatileDB (StreamFrom blk) (StreamTo blk) [RealPoint blk] | Stream only from the VolatileDB. |
StreamFromImmutableDB (StreamFrom blk) (StreamTo blk) | Stream only from the ImmutableDB. |
StreamFromBoth (StreamFrom blk) (StreamTo blk) [RealPoint blk] | Stream from both the VolatileDB and the ImmutableDB. |
BlockMissingFromVolatileDB (RealPoint blk) | A block is no longer in the VolatileDB because it has been garbage collected. It might now be in the ImmutableDB if it was part of the current chain. |
BlockWasCopiedToImmutableDB (RealPoint blk) | A block that has been garbage collected from the VolatileDB is now found and streamed from the ImmutableDB. |
BlockGCedFromVolatileDB (RealPoint blk) | A block is no longer in the VolatileDB and isn't in the ImmutableDB either; it wasn't part of the current chain. |
SwitchBackToVolatileDB | We have streamed one or more blocks from the ImmutableDB that were part of the VolatileDB when initialising the iterator. Now, we have to look back in the VolatileDB again because the ImmutableDB doesn't have the next block we're looking for. |
Instances
Generic (TraceIteratorEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceIteratorEvent blk → Rep (TraceIteratorEvent blk) x # to ∷ Rep (TraceIteratorEvent blk) x → TraceIteratorEvent blk # | |||||
StandardHash blk ⇒ Show (TraceIteratorEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceIteratorEvent blk → ShowS # show ∷ TraceIteratorEvent blk → String # showList ∷ [TraceIteratorEvent blk] → ShowS # | |||||
StandardHash blk ⇒ Eq (TraceIteratorEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceIteratorEvent blk → TraceIteratorEvent blk → Bool # (/=) ∷ TraceIteratorEvent blk → TraceIteratorEvent blk → Bool # | |||||
type Rep (TraceIteratorEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceIteratorEvent blk) = D1 ('MetaData "TraceIteratorEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (((C1 ('MetaCons "UnknownRangeRequested" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (UnknownRange blk))) :+: C1 ('MetaCons "StreamFromVolatileDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamFrom blk)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamTo blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RealPoint blk])))) :+: (C1 ('MetaCons "StreamFromImmutableDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamFrom blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamTo blk))) :+: C1 ('MetaCons "StreamFromBoth" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamFrom blk)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (StreamTo blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RealPoint blk]))))) :+: ((C1 ('MetaCons "BlockMissingFromVolatileDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: C1 ('MetaCons "BlockWasCopiedToImmutableDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk)))) :+: (C1 ('MetaCons "BlockGCedFromVolatileDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: C1 ('MetaCons "SwitchBackToVolatileDB" 'PrefixI 'False) (U1 ∷ Type → Type)))) |
data TraceOpenEvent blk Source #
Constructors
StartedOpeningDB | The ChainDB started the process of opening. |
OpenedDB | The ChainDB was opened. |
ClosedDB | The ChainDB was closed. |
StartedOpeningImmutableDB | The ImmutableDB started the process of opening. |
OpenedImmutableDB | The ImmutableDB was opened. |
StartedOpeningVolatileDB | The VolatileDB started opening. |
OpenedVolatileDB MaxSlotNo | The VolatileDB was opened, with the highest seen slot number for any block currently in the DB. |
StartedOpeningLgrDB | The LedgerDB started opening. |
OpenedLgrDB | The LedgerDB was opened. |
Instances
Generic (TraceOpenEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceOpenEvent blk → Rep (TraceOpenEvent blk) x # to ∷ Rep (TraceOpenEvent blk) x → TraceOpenEvent blk # | |||||
StandardHash blk ⇒ Show (TraceOpenEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceOpenEvent blk → ShowS # show ∷ TraceOpenEvent blk → String # showList ∷ [TraceOpenEvent blk] → ShowS # | |||||
StandardHash blk ⇒ Eq (TraceOpenEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceOpenEvent blk → TraceOpenEvent blk → Bool # (/=) ∷ TraceOpenEvent blk → TraceOpenEvent blk → Bool # | |||||
type Rep (TraceOpenEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceOpenEvent blk) = D1 ('MetaData "TraceOpenEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (((C1 ('MetaCons "StartedOpeningDB" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "OpenedDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)))) :+: (C1 ('MetaCons "ClosedDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk))) :+: C1 ('MetaCons "StartedOpeningImmutableDB" 'PrefixI 'False) (U1 ∷ Type → Type))) :+: ((C1 ('MetaCons "OpenedImmutableDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Point blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ChunkNo)) :+: C1 ('MetaCons "StartedOpeningVolatileDB" 'PrefixI 'False) (U1 ∷ Type → Type)) :+: (C1 ('MetaCons "OpenedVolatileDB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MaxSlotNo)) :+: (C1 ('MetaCons "StartedOpeningLgrDB" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "OpenedLgrDB" 'PrefixI 'False) (U1 ∷ Type → Type))))) |
data TracePipeliningEvent blk Source #
Constructors
SetTentativeHeader (Header blk) Enclosing | A new tentative header got set. |
TrapTentativeHeader (Header blk) | The body of tentative block turned out to be invalid. |
OutdatedTentativeHeader (Header blk) | We selected a new (better) chain, which cleared the previous tentative header. |
Instances
Show (Header blk) ⇒ Show (TracePipeliningEvent blk) Source # | |
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TracePipeliningEvent blk → ShowS # show ∷ TracePipeliningEvent blk → String # showList ∷ [TracePipeliningEvent blk] → ShowS # | |
Eq (Header blk) ⇒ Eq (TracePipeliningEvent blk) Source # | |
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TracePipeliningEvent blk → TracePipeliningEvent blk → Bool # (/=) ∷ TracePipeliningEvent blk → TracePipeliningEvent blk → Bool # |
data TraceValidationEvent blk Source #
Constructors
InvalidBlock (ExtValidationError blk) (RealPoint blk) | A point was found to be invalid. |
ValidCandidate (AnchoredFragment (Header blk)) | A candidate chain was valid. |
UpdateLedgerDbTraceEvent (TraceValidateEvent blk) |
Instances
Generic (TraceValidationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Associated Types
Methods from ∷ TraceValidationEvent blk → Rep (TraceValidationEvent blk) x # to ∷ Rep (TraceValidationEvent blk) x → TraceValidationEvent blk # | |||||
(Show (Header blk), LedgerSupportsProtocol blk) ⇒ Show (TraceValidationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods showsPrec ∷ Int → TraceValidationEvent blk → ShowS # show ∷ TraceValidationEvent blk → String # showList ∷ [TraceValidationEvent blk] → ShowS # | |||||
(Eq (Header blk), LedgerSupportsProtocol blk) ⇒ Eq (TraceValidationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types Methods (==) ∷ TraceValidationEvent blk → TraceValidationEvent blk → Bool # (/=) ∷ TraceValidationEvent blk → TraceValidationEvent blk → Bool # | |||||
type Rep (TraceValidationEvent blk) Source # | |||||
Defined in Ouroboros.Consensus.Storage.ChainDB.Impl.Types type Rep (TraceValidationEvent blk) = D1 ('MetaData "TraceValidationEvent" "Ouroboros.Consensus.Storage.ChainDB.Impl.Types" "ouroboros-consensus-0.26.0.0-inplace" 'False) (C1 ('MetaCons "InvalidBlock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ExtValidationError blk)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RealPoint blk))) :+: (C1 ('MetaCons "ValidCandidate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AnchoredFragment (Header blk)))) :+: C1 ('MetaCons "UpdateLedgerDbTraceEvent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TraceValidateEvent blk))))) |
Re-exported for convenience
newtype RelativeMountPoint Source #
A relative path for a MountPoint
The root is determined by context.
Constructors
RelativeMountPoint FilePath |
type ImmutableDbSerialiseConstraints blk = (EncodeDisk blk blk, DecodeDisk blk (ByteString → blk), DecodeDiskDep (NestedCtxt Header) blk, ReconstructNestedCtxt Header blk, HasBinaryBlockInfo blk) Source #
EncodeDisk
and DecodeDisk
constraints needed for the ImmutableDB.
type LedgerDbSerialiseConstraints blk = (Serialise (HeaderHash blk), EncodeDisk blk (LedgerState blk EmptyMK), DecodeDisk blk (LedgerState blk EmptyMK), EncodeDisk blk (AnnTip blk), DecodeDisk blk (AnnTip blk), EncodeDisk blk (ChainDepState (BlockProtocol blk)), DecodeDisk blk (ChainDepState (BlockProtocol blk)), MemPack (TxIn (LedgerState blk)), SerializeTablesWithHint (LedgerState blk), IndexedMemPack (LedgerState blk EmptyMK) (TxOut (LedgerState blk))) Source #
Serialization constraints required by the LedgerDB
to be properly
instantiated with a blk
.
type VolatileDbSerialiseConstraints blk = (EncodeDisk blk blk, DecodeDisk blk (ByteString → blk), DecodeDiskDep (NestedCtxt Header) blk, HasNestedContent Header blk, HasBinaryBlockInfo blk) Source #
EncodeDisk
and DecodeDisk
constraints needed for the VolatileDB.
Internals for testing purposes
data Internal (m ∷ Type → Type) blk Source #
Constructors
Internal | |
Fields
|
Arguments
∷ (IOLike m, LedgerSupportsProtocol blk, BlockSupportsDiffusionPipelining blk, InspectLedger blk, HasHardForkHistory blk, ConvertRawHash blk, SerialiseDiskConstraints blk, HasCallStack, LedgerSupportsLedgerDB blk) | |
⇒ Complete ChainDbArgs m blk | |
→ Bool |
|
→ m (ChainDB m blk, Internal m blk) |