libfoedus-core
FOEDUS Core Library
foedus::log::EngineLogType Struct Reference

Base class for log type of engine-wide operation. More...

Detailed Description

Base class for log type of engine-wide operation.

Definition at line 121 of file common_log_types.hpp.

#include <common_log_types.hpp>

Inheritance diagram for foedus::log::EngineLogType:
Collaboration diagram for foedus::log::EngineLogType:

Public Member Functions

bool is_engine_log () const
 
bool is_storage_log () const
 
bool is_record_log () const
 
void apply_storage (Engine *, storage::StorageId)
 
void apply_record (thread::Thread *, storage::StorageId, xct::RwLockableXctId *, char *)
 
void assert_valid_generic () const __attribute__((always_inline))
 Verifies the log contains essential fields set. More...
 

Additional Inherited Members

- Public Attributes inherited from foedus::log::BaseLogType
LogHeader header_
 

Member Function Documentation

void foedus::log::EngineLogType::apply_record ( thread::Thread ,
storage::StorageId  ,
xct::RwLockableXctId ,
char *   
)
inline

Definition at line 128 of file common_log_types.hpp.

References ASSERT_ND.

132  {
133  ASSERT_ND(false);
134  }
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72
void foedus::log::EngineLogType::apply_storage ( Engine ,
storage::StorageId   
)
inline

Definition at line 125 of file common_log_types.hpp.

References ASSERT_ND.

125  {
126  ASSERT_ND(false);
127  }
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72
void foedus::log::EngineLogType::assert_valid_generic ( ) const
inline

Verifies the log contains essential fields set.

Definition at line 138 of file common_log_types.hpp.

References ASSERT_ND.

138  {
141  ASSERT_ND(header_.log_length_ % 8 == 0); // must be 8 byte aligned
143  }
bool is_valid_type() const
Another convenience method to see if the type code is non-zero and exists.
uint16_t log_length_
Byte size of this log entry including this header itself and everything.
storage::StorageId storage_id_
The storage this loggable operation mainly affects.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72
bool foedus::log::EngineLogType::is_engine_log ( ) const
inline

Definition at line 122 of file common_log_types.hpp.

122 { return true; }
bool foedus::log::EngineLogType::is_record_log ( ) const
inline

Definition at line 124 of file common_log_types.hpp.

124 { return false; }
bool foedus::log::EngineLogType::is_storage_log ( ) const
inline

Definition at line 123 of file common_log_types.hpp.

123 { return false; }

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