#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) |
Private Member Functions | |
TransactionReplicator (const TransactionReplicator &) | |
TransactionReplicator & | operator= (const TransactionReplicator &) |
Class which replicates Transaction messages
Definition at line 59 of file transaction_replicator.h.
virtual ReplicationReturnCode drizzled::plugin::TransactionReplicator::replicate | ( | TransactionApplier * | in_applier, |
Session & | session, | ||
message::Transaction & | to_replicate | ||
) | [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 DefaultReplicator, and drizzle_plugin::FilteredReplicator.
Referenced by drizzled::ReplicationServices::pushTransactionMessage().