Drizzled Public API Documentation

drizzled::plugin::TransactionApplier Class Reference

#include <transaction_applier.h>

Inheritance diagram for drizzled::plugin::TransactionApplier:
drizzled::plugin::Plugin drizzle_plugin::RabbitMQLog drizzle_plugin::ZeroMQLog ReplicationLog

Public Types

typedef std::pair< const
std::string, const std::string > 
map_key
typedef std::map< const
map_key, plugin::Plugin * > 
map
typedef std::vector< Plugin * > vector

Public Member Functions

 TransactionApplier (std::string name_arg)
virtual ReplicationReturnCode apply (Session &in_session, const message::Transaction &to_apply)=0
virtual void shutdownPlugin ()
virtual void prime ()
virtual void startup (drizzled::Session &)
void activate ()
void deactivate ()
bool isActive () const
const std::string & getName () const
void setModule (module::Module *module)
const std::string & getTypeName () const
virtual bool removeLast () const
const std::string & getModuleName () const

Static Public Member Functions

static bool addPlugin (TransactionApplier *applier)
static void removePlugin (TransactionApplier *applier)

Detailed Description

Base class for appliers of Transaction messages

Definition at line 46 of file transaction_applier.h.

Member Function Documentation

virtual ReplicationReturnCode drizzled::plugin::TransactionApplier::apply ( Session in_session,
const message::Transaction to_apply 
)
pure virtual

Apply something to a target.

Note

It is important to note that memory allocation for the supplied pointer is not guaranteed after the completion of this function – meaning the caller can dispose of the supplied message. Therefore, appliers which are implementing an asynchronous replication system must copy the supplied message to their own controlled memory storage area.

Parameters
Transactionmessage to be replicated

Implemented in drizzle_plugin::RabbitMQLog, drizzle_plugin::ZeroMQLog, and ReplicationLog.

Referenced by drizzle_plugin::FilteredReplicator::replicate().


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