38 o <<
"<FillerLog>" << v.
header_ <<
"</FillerLog>";
43 o <<
"<EpochMarker>" << v.
header_
44 <<
"<old_epoch_>" << v.
old_epoch_ <<
"</old_epoch_>"
45 <<
"<new_epoch_>" << v.
new_epoch_ <<
"</new_epoch_>"
46 <<
"<logger_numa_node_>" <<
static_cast<int>(v.
logger_numa_node_) <<
"</logger_numa_node_>"
47 <<
"<logger_in_node_ordinal_>"
49 <<
"<logger_id_>" << v.
logger_id_ <<
"</logger_id_>"
62 uint8_t logger_numa_node, uint8_t logger_in_node_ordinal,
63 uint16_t logger_id, uint32_t log_file_ordinal, uint64_t log_file_offset) {
LoggerRef get_logger(LoggerId logger_id)
Returns a reference to the logger of the given ID.
EpochMarkerLogType()=delete
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Represents one thread running on one NUMA core.
uint64_t log_file_offset_
Byte offset of the epoch mark log itself in the log.
void populate(Epoch old_epoch, Epoch new_epoch, uint8_t logger_numa_node, uint8_t logger_in_node_ordinal, uint16_t logger_id, uint32_t log_file_ordinal, uint64_t log_file_offset)
void assert_valid() const __attribute__((always_inline))
uint16_t logger_id_
Unique ID of the logger.
Epoch old_epoch_
Epoch before this switch.
Declares common log types used in all packages.
Engine * get_engine() const
void populate(uint64_t size)
Populate this log to fill up the specified byte size.
void apply_engine(thread::Thread *context)
A view of Logger object for other SOCs and master engine.
log::LogManager * get_log_manager() const
See Log Manager.
uint32_t log_file_ordinal_
Ordinal of log files (eg "log.0", "log.1").
A log type to declare a switch of epoch in a logger or the engine.
A dummy log type to fill up a sector in log files.
uint8_t logger_in_node_ordinal_
Ordinal of the logger in the numa node.
std::ostream & operator<<(std::ostream &o, const LogHeader &v)
Epoch new_epoch_
Epoch after this switch.
const char * get_log_type_name(LogCode code)
Returns the names of LogCode enum defined in log_type.xmacro.
Convenient way of writing hex integers to stream.
void add_epoch_history(const EpochMarkerLogType &epoch_marker)
Append a new epoch history.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
uint8_t logger_numa_node_
Numa node of the logger that produced this log.