20 #include <glog/logging.h> 
   72   ASSERT_ND(index0->data_offset_ <= index0->data_size_);
 
   74   if (index0->data_offset_ + data_size > index0->data_size_) {
 
   79   index0->data_offset_ += data_size;
 
  101     LOG(FATAL) << 
"Unsupported storage type:" << type_;
 
  113     LOG(FATAL) << 
"Unsupported storage type:" << type_;
 
  125     LOG(FATAL) << 
"Unsupported storage type:" << type_;
 
  136     LOG(FATAL) << 
"Unsupported storage type:" << type_;
 
  142     << 
"<id>" << v.id_ << 
"</id>" 
  145   o << 
"</Partitioner>";
 
  149   o << 
"<PartitionerMetadata>" 
  150     << 
"<valid>" << v.
valid_ << 
"</valid>" 
  153     << 
"</PartitionerMetadata>";
 
Metadata meta_
common part of the metadata. 
void sort_batch(const SortBatchArguments &args)
Called from log reducer to sort log entries by keys. 
storage::StorageManager * get_storage_manager() const 
See Storage Manager. 
bool is_partitionable() const 
uint32_t StorageId
Unique ID for storage. 
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services). 
void * partitioner_data_
Data block to place detailed information of partitioners. 
bool is_partitionable() const 
void partition_batch(const Partitioner::PartitionBatchArguments &args) const 
GlobalMemoryAnchors * get_global_memory_anchors()
bool is_partitionable() const 
Partitioner for a hash storage. 
Brings error stacktrace information as return value of functions. 
0x0825 : "STORAGE: Memory for Partitioners ran out during snapshot. Increase StorageOptions::partitio...
0 indicates invalid type. 
Partitioner for an array storage. 
bool is_locked_by_me() const 
const EngineOptions & get_options() const 
SharedMutex * get_mutex() const 
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
void sort_batch(const Partitioner::SortBatchArguments &args) const 
uint32_t partitioner_data_memory_mb_
Size in MB of a shared memory buffer allocated for all partitioners during log gleaning. 
Partitioner(Engine *engine, StorageId id)
Instantiate an instance for the given storage. 
storage::PartitionerMetadata * partitioner_metadata_
Tiny metadata memory for partitioners. 
PartitionerMetadata * control_block_
The shared data on shared memory that has been initialized in some SOC or master engine. 
storage::StorageOptions storage_
void sort_batch(const Partitioner::SortBatchArguments &args) const 
void sort_batch(const Partitioner::SortBatchArguments &args) const 
Database engine object that holds all resources and provides APIs. 
Auto-lock scope object for SharedMutex. 
const char * to_storage_type_name(StorageType type)
Gives a string representation of StorageType. 
void sort_batch(const Partitioner::SortBatchArguments &args) const 
Attachable Resources on Shared Memory. 
Just a set of pointers within global_memory_ for ease of use. 
bool is_partitionable()
returns if this storage is partitionable. 
Partitioner for an sequential storage. 
const ErrorStack kRetOk
Normal return value for no-error case. 
void partition_batch(const PartitionBatchArguments &args)
Identifies the partition of each log record in a batched fashion. 
soc::SocManager * get_soc_manager() const 
See SOC and IPC. 
Partitioner for a masstree storage. 
Partitioning and sorting logic for one storage. 
Convenient way of writing hex integers to stream. 
bool is_valid() const 
whether this object is ready for partitioning. 
Arguments for sort_batch() 
void partition_batch(const Partitioner::PartitionBatchArguments &args) const 
std::ostream & operator<<(std::ostream &o, const Composer &v)
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
ErrorStack design_partition(const DesignPartitionArguments &args)
Determines partitioning scheme for this storage. 
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
StorageControlBlock * get_storage(StorageId id)
Returns the storage of given ID. 
void partition_batch(const Partitioner::PartitionBatchArguments &args) const 
bool is_partitionable() const 
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
ErrorCode
Enum of error codes defined in error_code.xmacro. 
Arguments for design_partition() 
void partition_batch(const Partitioner::PartitionBatchArguments &args) const 
const PartitionerMetadata & get_metadata() const 
Returns tiny metadata of the partitioner in shared memory. 
SharedMemoryRepo * get_shared_memory_repo()
Returns the shared memories maintained across SOCs. 
Arguments for partition_batch()