ouroboros-consensus-0.1.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo

Description

Information about the files stored by the volatile DB

Intended for qualified import.

Synopsis

Documentation

data FileInfo blk Source #

The internal information the VolatileDB keeps for each file.

Instances

Instances details
StandardHash blk => Show (FileInfo blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo

Methods

showsPrec :: Int -> FileInfo blk -> ShowS #

show :: FileInfo blk -> String #

showList :: [FileInfo blk] -> ShowS #

Generic (FileInfo blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo

Associated Types

type Rep (FileInfo blk) :: Type -> Type #

Methods

from :: FileInfo blk -> Rep (FileInfo blk) x #

to :: Rep (FileInfo blk) x -> FileInfo blk #

StandardHash blk => NoThunks (FileInfo blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo

type Rep (FileInfo blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo

type Rep (FileInfo blk) = D1 ('MetaData "FileInfo" "Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo" "ouroboros-consensus-0.1.0.0-GfJNvFcM6lj2s5utKAUPEp" 'False) (C1 ('MetaCons "FileInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "maxSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MaxSlotNo) :*: S1 ('MetaSel ('Just "hashes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set (HeaderHash blk)))))

Construction

addBlock :: StandardHash blk => SlotNo -> HeaderHash blk -> FileInfo blk -> FileInfo blk Source #

Adds a block to a FileInfo.

fromParsedBlockInfos :: forall blk. StandardHash blk => [ParsedBlockInfo blk] -> FileInfo blk Source #

Construct a FileInfo from the parser result.

Queries

maxSlotNo :: FileInfo blk -> MaxSlotNo Source #

canGC Source #

Arguments

:: FileInfo blk 
-> SlotNo

The slot which we want to GC

-> Bool 

Checks if this file can be GCed.

isFull :: BlocksPerFile -> FileInfo blk -> Bool Source #

Has this file reached its maximum size?

maxSlotNoInFiles :: [FileInfo blk] -> MaxSlotNo Source #