#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::RabbitMQLog, drizzle_plugin::ZeroMQLog, and ReplicationLog.
Referenced by drizzle_plugin::FilteredReplicator::replicate().