#include <transaction_applier.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 | |
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) |
Base class for appliers of Transaction messages
Definition at line 46 of file transaction_applier.h.
|
pure virtual |
Apply something to a target.
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.
Transaction | message to be replicated |
Implemented in drizzle_plugin::zeromq::ZeroMQLog, drizzle_plugin::rabbitmq::RabbitMQLog, and ReplicationLog.
Referenced by drizzle_plugin::FilteredReplicator::replicate().