18 #ifndef FOEDUS_LOG_LOG_TYPE_INVOKE_HPP_
19 #define FOEDUS_LOG_LOG_TYPE_INVOKE_HPP_
63 thread::Thread* context,
65 xct::RwLockableXctId* owner_id_address,
66 char* payload_address);
87 #define X(a, b, c) case a: \
88 reinterpret_cast< c* >(buffer)->apply_record(context, storage_id, owner_id, payload); return;
110 #define X(a, b, c) case a: reinterpret_cast< c* >(buffer)->assert_valid(); return;
127 #endif // FOEDUS_LOG_LOG_TYPE_INVOKE_HPP_
LogCode
A unique identifier of all log types.
Declares all log types used in this storage type.
uint32_t StorageId
Unique ID for storage.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Represents one thread running on one NUMA core.
void invoke_apply_engine(void *log_buffer, thread::Thread *context)
Invokes the apply logic for an engine-wide log type.
Declares all log types used in this storage type.
void invoke_assert_valid(void *log_buffer)
Invokes the assertion logic of each log type.
void invoke_apply_storage(void *log_buffer, Engine *engine, storage::StorageId id)
Invokes the apply logic for a storage-wide log type.
Declares common log types used in all packages.
The MCS reader-writer lock variant of LockableXctId.
Declares common log types for all (or at least multiple) storage types.
Definitions of IDs in this package and a few related constant values.
Declares all log types used in this storage type.
Declares all log types used in this storage type.
void invoke_ostream(const void *buffer, std::ostream *ptr)
Invokes the ostream operator for the given log type defined in log_type.xmacro.
void invoke_apply_record(void *log_buffer, thread::Thread *context, storage::StorageId storage_id, xct::RwLockableXctId *owner_id_address, char *payload_address)
Invokes the apply logic for a record-wise log type.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Forward declarations of classes in thread package.