0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
Hypertable::GroupCommit Class Reference

Group commit manager. More...

#include <GroupCommit.h>

Inheritance diagram for Hypertable::GroupCommit:
Inheritance graph
[legend]
Collaboration diagram for Hypertable::GroupCommit:
Collaboration graph
[legend]

Public Member Functions

 GroupCommit (Apps::RangeServer *range_server)
 Constructor. More...
 
virtual void add (EventPtr &event, uint64_t cluster_id, SchemaPtr &schema, const TableIdentifier &table, uint32_t count, StaticBuffer &buffer, uint32_t flags)
 Adds a batch of updates to the group commit queue. More...
 
virtual void trigger ()
 Processes queued updates that are ready to be committed. More...
 

Private Attributes

std::mutex m_mutex
 Mutex to serialize concurrent access More...
 
Apps::RangeServerm_range_server
 Pointer to RangeServer. More...
 
uint32_t m_commit_interval {}
 Cached copy of Hypertable.RangeServer.CommitInterval property. More...
 
int m_counter {}
 Trigger iteration counter. More...
 
FlyweightString m_flyweight_strings
 String cache for holding table IDs More...
 
std::map< ClusterTableIdPair,
UpdateRecTable *, lt_ctip
m_table_map
 

Detailed Description

Group commit manager.

Definition at line 59 of file GroupCommit.h.

Constructor & Destructor Documentation

GroupCommit::GroupCommit ( Apps::RangeServer range_server)

Constructor.

Initializes m_commit_interval to value of Hypertable.RangeServer.CommitInterval property.

Parameters
range_serverPointer to RangeServer object

Definition at line 34 of file GroupCommit.cc.

Member Function Documentation

void GroupCommit::add ( EventPtr event,
uint64_t  cluster_id,
SchemaPtr schema,
const TableIdentifier table,
uint32_t  count,
StaticBuffer buffer,
uint32_t  flags 
)
virtual

Adds a batch of updates to the group commit queue.

Implements Hypertable::GroupCommitInterface.

Definition at line 42 of file GroupCommit.cc.

void GroupCommit::trigger ( )
virtual

Processes queued updates that are ready to be committed.

Implements Hypertable::GroupCommitInterface.

Definition at line 81 of file GroupCommit.cc.

Member Data Documentation

uint32_t Hypertable::GroupCommit::m_commit_interval {}
private

Cached copy of Hypertable.RangeServer.CommitInterval property.

Definition at line 80 of file GroupCommit.h.

int Hypertable::GroupCommit::m_counter {}
private

Trigger iteration counter.

Definition at line 82 of file GroupCommit.h.

FlyweightString Hypertable::GroupCommit::m_flyweight_strings
private

String cache for holding table IDs

Definition at line 84 of file GroupCommit.h.

std::mutex Hypertable::GroupCommit::m_mutex
private

Mutex to serialize concurrent access

Definition at line 75 of file GroupCommit.h.

Apps::RangeServer* Hypertable::GroupCommit::m_range_server
private

Pointer to RangeServer.

Definition at line 77 of file GroupCommit.h.

std::map<ClusterTableIdPair, UpdateRecTable *, lt_ctip> Hypertable::GroupCommit::m_table_map
private

Definition at line 86 of file GroupCommit.h.


The documentation for this class was generated from the following files: