libfoedus-core
FOEDUS Core Library
foedus::snapshot::FillerBlockHeader Struct Reference

A header for a dummy storage block that fills the gap between the end of previous storage block and the beginning of next storage block. More...

Detailed Description

A header for a dummy storage block that fills the gap between the end of previous storage block and the beginning of next storage block.

Such a dummy storage is needed to guarantee aligned (4kb) writes on DirectIoFile. (we can also do it without dummy blocks by retaining the "fragment" until the next storage block, but the complexity isn't worth it. 4kb for each storage? nothing.) This object MUST be 8 bytes so that it can fill any gap (all log entries are 8-byte aligned). The magic word for this is kFillerBlockHeaderMagicWord.

Definition at line 152 of file log_reducer_impl.hpp.

#include <log_reducer_impl.hpp>

Inheritance diagram for foedus::snapshot::FillerBlockHeader:
Collaboration diagram for foedus::snapshot::FillerBlockHeader:

Additional Inherited Members

- Public Types inherited from foedus::snapshot::BlockHeaderBase
enum  Constants { kFullBlockHeaderMagicWord = 0xDEADBEEF, kFillerBlockHeaderMagicWord = 0x8BADF00D }
 
- Public Member Functions inherited from foedus::snapshot::BlockHeaderBase
bool is_full_block () const
 
bool is_filler () const
 
- Public Attributes inherited from foedus::snapshot::BlockHeaderBase
uint32_t magic_word_
 This is used to identify the storage block is a dummy (filler) one or a full one. More...
 
BufferPosition block_length_
 Length (in 8-bytes) of this block including the header. More...
 

The documentation for this struct was generated from the following file: