Drizzled Public API Documentation

drizzle_plugin::ZeroMQLog Class Reference

A TransactionApplier that publishes transaction on a zeromq pub socket. More...

#include <zeromq_log.h>

Inheritance diagram for drizzle_plugin::ZeroMQLog:
drizzled::plugin::TransactionApplier drizzled::plugin::Plugin

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

 ZeroMQLog (const std::string &name, const std::string &endpoint)
 Constructs a new ZeroMQLog.
drizzled::plugin::ReplicationReturnCode apply (drizzled::Session &session, const drizzled::message::Transaction &to_apply)
 Serializes the transaction and publishes the message to zmq.
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)

Private Member Functions

std::string getSchemaName (const drizzled::message::Transaction &txn)

Private Attributes

void * _socket
pthread_mutex_t publishLock

Detailed Description

A TransactionApplier that publishes transaction on a zeromq pub socket.

sends messages to a pub socket

Definition at line 43 of file zeromq_log.h.

Constructor & Destructor Documentation

drizzle_plugin::ZeroMQLog::ZeroMQLog ( const std::string &  name,
const std::string &  endpoint 
)

Constructs a new ZeroMQLog.

Parameters
[in]nameof plugin
[in]theendpoint string (typically tcp:// *:9999) (no space actually, compiler whines about comment within comment..)

Definition at line 46 of file zeromq_log.cc.

Member Function Documentation

plugin::ReplicationReturnCode drizzle_plugin::ZeroMQLog::apply ( drizzled::Session session,
const drizzled::message::Transaction to_apply 
)
virtual

Serializes the transaction and publishes the message to zmq.

Serializes the protobuf transaction and drops it on zmq

Parameters
[in]to_applythe transaction to send

Implements drizzled::plugin::TransactionApplier.

Definition at line 64 of file zeromq_log.cc.


The documentation for this class was generated from the following files: