Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- mkBlocksPerFile :: Word32 -> BlocksPerFile
- unBlocksPerFile :: BlocksPerFile -> Word32
- data BlocksPerFile
- data BlockValidationPolicy
-
data
ParseError
blk
- = BlockReadErr ReadIncrementalErr
- | BlockCorruptedErr ( HeaderHash blk)
- | DuplicatedBlock ( HeaderHash blk) FsPath FsPath
-
data
TraceEvent
blk
- = DBAlreadyClosed
- | BlockAlreadyHere ( HeaderHash blk)
- | Truncate ( ParseError blk) FsPath BlockOffset
- | InvalidFileNames [ FsPath ]
- newtype BlockOffset = BlockOffset { }
- newtype BlockSize = BlockSize { }
- type FileId = Int
-
data
InternalBlockInfo
blk =
InternalBlockInfo
{
- ibiFile :: ! FsPath
- ibiBlockOffset :: ! BlockOffset
- ibiBlockSize :: ! BlockSize
- ibiBlockInfo :: !( BlockInfo blk)
- ibiNestedCtxt :: !( SomeSecond ( NestedCtxt Header ) blk)
- type ReverseIndex blk = Map ( HeaderHash blk) ( InternalBlockInfo blk)
- type SuccessorsIndex blk = Map ( ChainHash blk) ( Set ( HeaderHash blk))
Blocks per file
mkBlocksPerFile :: Word32 -> BlocksPerFile Source #
Create a
BlocksPerFile
.
PRECONDITION: the given number must be greater than 0, if not, this
function will throw an
error
.
opaque
data BlocksPerFile Source #
The maximum number of blocks to store per file.
Instances
Show BlocksPerFile Source # | |
Generic BlocksPerFile Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types from :: BlocksPerFile -> Rep BlocksPerFile x Source # to :: Rep BlocksPerFile x -> BlocksPerFile Source # |
|
type Rep BlocksPerFile Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types
type
Rep
BlocksPerFile
=
D1
('
MetaData
"BlocksPerFile" "Ouroboros.Consensus.Storage.VolatileDB.Impl.Types" "ouroboros-consensus-0.1.0.1-DT4Cvwf63DZKctsEvaJqCU" '
True
) (
C1
('
MetaCons
"BlocksPerFile" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"unBlocksPerFile") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
Word32
)))
|
Block validation policy
data BlockValidationPolicy Source #
When block validation is enabled, the parser checks for each block a number of properties and stops parsing if it finds any invalid blocks.
Instances
Parse error
data ParseError blk Source #
Note that we recover from the error, and thus never throw it as an
Exception
.
Defined here instead of in the
Parser
module because
TraceEvent
depends
on it.
BlockReadErr ReadIncrementalErr |
A block could not be parsed. |
BlockCorruptedErr ( HeaderHash blk) |
A block was corrupted, e.g., checking its signature and/or hash failed. |
DuplicatedBlock ( HeaderHash blk) FsPath FsPath |
A block with the same hash occurred twice in the VolatileDB files. We include the file in which it occurred first and the file in which it occured the second time. The two files can be the same. |
Instances
StandardHash blk => Eq ( ParseError blk) Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types (==) :: ParseError blk -> ParseError blk -> Bool Source # (/=) :: ParseError blk -> ParseError blk -> Bool Source # |
|
StandardHash blk => Show ( ParseError blk) Source # | |
Tracing
data TraceEvent blk Source #
DBAlreadyClosed | |
BlockAlreadyHere ( HeaderHash blk) | |
Truncate ( ParseError blk) FsPath BlockOffset | |
InvalidFileNames [ FsPath ] |
Instances
Internal indices
newtype BlockOffset Source #
The offset at which a block is stored in a file.
Instances
Eq BlockOffset Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types (==) :: BlockOffset -> BlockOffset -> Bool Source # (/=) :: BlockOffset -> BlockOffset -> Bool Source # |
|
Show BlockOffset Source # | |
Generic BlockOffset Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types from :: BlockOffset -> Rep BlockOffset x Source # to :: Rep BlockOffset x -> BlockOffset Source # |
|
NoThunks BlockOffset Source # | |
type Rep BlockOffset Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types
type
Rep
BlockOffset
=
D1
('
MetaData
"BlockOffset" "Ouroboros.Consensus.Storage.VolatileDB.Impl.Types" "ouroboros-consensus-0.1.0.1-DT4Cvwf63DZKctsEvaJqCU" '
True
) (
C1
('
MetaCons
"BlockOffset" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"unBlockOffset") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
Word64
)))
|
Instances
Eq BlockSize Source # | |
Show BlockSize Source # | |
Generic BlockSize Source # | |
NoThunks BlockSize Source # | |
type Rep BlockSize Source # | |
Defined in Ouroboros.Consensus.Storage.VolatileDB.Impl.Types
type
Rep
BlockSize
=
D1
('
MetaData
"BlockSize" "Ouroboros.Consensus.Storage.VolatileDB.Impl.Types" "ouroboros-consensus-0.1.0.1-DT4Cvwf63DZKctsEvaJqCU" '
True
) (
C1
('
MetaCons
"BlockSize" '
PrefixI
'
True
) (
S1
('
MetaSel
('
Just
"unBlockSize") '
NoSourceUnpackedness
'
NoSourceStrictness
'
DecidedLazy
) (
Rec0
Word32
)))
|
data InternalBlockInfo blk Source #
The internal information the db keeps for each block.
InternalBlockInfo | |
|
Instances
type ReverseIndex blk = Map ( HeaderHash blk) ( InternalBlockInfo blk) Source #
We map the header hash of each block to the
InternalBlockInfo
.
type SuccessorsIndex blk = Map ( ChainHash blk) ( Set ( HeaderHash blk)) Source #
For each block, we store the set of all blocks which have this block as a predecessor (set of successors).