#include <transaction_replicator.h>
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 | |
TransactionReplicator (std::string name_arg) | |
virtual ReplicationReturnCode | replicate (TransactionApplier *in_applier, Session &session, message::Transaction &to_replicate)=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 (TransactionReplicator *replicator) |
static void | removePlugin (TransactionReplicator *replicator) |
Class which replicates Transaction messages
Definition at line 47 of file transaction_replicator.h.
|
pure virtual |
Replicate a Transaction message to a TransactionApplier.
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, replicators and appliers implementing an asynchronous replication system must copy the supplied message to their own controlled memory storage area.
Pointer | to the applier of the command message |
Transaction | message to be replicated |
Implemented in drizzle_plugin::FilteredReplicator, and DefaultReplicator.
Referenced by drizzled::ReplicationServices::pushTransactionMessage().