#include <replication_services.h>
Public Types | |
enum | MessageType { TRANSACTION = 1, BLOB = 2 } |
typedef uint64_t | GlobalTransactionId |
typedef std::pair< plugin::TransactionReplicator *, plugin::TransactionApplier * > | ReplicationPair |
typedef std::vector< ReplicationPair > | ReplicationStreams |
Static Public Member Functions | |
static bool | evaluateRegisteredPlugins () |
static plugin::ReplicationReturnCode | pushTransactionMessage (Session &in_session, message::Transaction &to_push) |
static bool | isActive () |
static ReplicationStreams & | getReplicationStreams () |
static void | attachReplicator (plugin::TransactionReplicator *in_replicator) |
static void | detachReplicator (plugin::TransactionReplicator *in_replicator) |
static void | attachApplier (plugin::TransactionApplier *in_applier, const std::string &requested_replicator) |
static void | detachApplier (plugin::TransactionApplier *in_applier) |
static uint64_t | getLastAppliedTimestamp () |
This is a class which manages transforming internal transactional events into GPB messages and sending those events out through registered replicators and appliers.
Definition at line 46 of file replication_services.h.
Types of messages that can go in the transaction log file. Every time something is written into the transaction log, it is preceded by a header containing the type of message which follows.
Definition at line 56 of file replication_services.h.
|
static |
Attaches a applier to our internal collection of appliers.
Pointer | to a applier to attach/register |
The | name of the replicator to pair with |
Definition at line 165 of file replication_services.cc.
|
static |
Attaches a replicator to our internal collection of replicators.
Pointer | to a replicator to attach/register |
Definition at line 155 of file replication_services.cc.
|
static |
Detaches/unregisters a applier with our internal collection of appliers.
Pointer | to the applier to detach |
Definition at line 170 of file replication_services.cc.
|
static |
Detaches/unregisters a replicator with our internal collection of replicators.
Pointer | to the replicator to detach |
Definition at line 160 of file replication_services.cc.
|
static |
Method which is called after plugins have been loaded but before the first client connects. It determines if the registration of applier and replicator plugins is proper and pairs the applier and requested replicator plugins into the replication streams.
This is only necessary because we don't yet have plugin dependency tracking...
Definition at line 94 of file replication_services.cc.
References drizzled::normalizeReplicatorName().
|
static |
Returns the timestamp of the last Transaction which was sent to an applier.
|
static |
Returns the list of replication streams
Definition at line 207 of file replication_services.cc.
|
static |
Returns whether the ReplicationServices object is active. In other words, does it have both a replicator and an applier that are active?
Definition at line 174 of file replication_services.cc.
|
static |
Helper method which pushes a constructed message out to the registered replicator and applier plugins.
Session | descriptor |
Message | to push out |
Definition at line 179 of file replication_services.cc.
References drizzled::plugin::TransactionReplicator::replicate().