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

Abstract base class for group commit implementation. More...

#include <GroupCommitInterface.h>

Inheritance diagram for Hypertable::GroupCommitInterface:
Inheritance graph
[legend]

Public Member Functions

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

Detailed Description

Abstract base class for group commit implementation.

Group commit is a feature whereby updates are queued over some period of time (usually measured in milliseconds) and then written and sync'ed to the commit log and processed in one group. This improves efficiency for situations where there are many concurrent updates because otherwise the writing and sync'ing of the commit log can become a bottleneck. This class acts as an interface class to the group commit implementation and provides a way for the group commit system and the RangeServer to reference one another.

Definition at line 53 of file GroupCommitInterface.h.

Member Function Documentation

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

Adds a batch of updates to the group commit queue.

Implemented in Hypertable::GroupCommit.

virtual void Hypertable::GroupCommitInterface::trigger ( )
pure virtual

Processes queued updates that are ready to be committed.

Implemented in Hypertable::GroupCommit.


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