libzmq master
The Intelligent Transport Layer
Public Member Functions | Private Types | Private Member Functions | Private Attributes

zmq::mtrie_t Class Reference

#include <mtrie.hpp>

Collaboration diagram for zmq::mtrie_t:

List of all members.

Public Member Functions

 mtrie_t ()
 ~mtrie_t ()
bool add (unsigned char *prefix_, size_t size_, class pipe_t *pipe_)
void match (unsigned char *data_, size_t size_, void(*func_)(class pipe_t *pipe_, void *arg_), void *arg_)
bool rm (unsigned char *prefix_, size_t size_, class pipe_t *pipe_)
void rm (class pipe_t *pipe_, void(*func_)(unsigned char *data_, size_t size_, void *arg_), void *arg_)

Private Types

typedef std::set< class pipe_t * > pipes_t

Private Member Functions

 mtrie_t (const mtrie_t &)
bool add_helper (unsigned char *prefix_, size_t size_, class pipe_t *pipe_)
const mtrie_toperator= (const mtrie_t &)
bool rm_helper (unsigned char *prefix_, size_t size_, class pipe_t *pipe_)
void rm_helper (class pipe_t *pipe_, unsigned char **buff_, size_t buffsize_, size_t maxbuffsize_, void(*func_)(unsigned char *data_, size_t size_, void *arg_), void *arg_)

Private Attributes

unsigned short count
unsigned char min
union {
   class mtrie_t *   node
   class mtrie_t **   table
next
pipes_t pipes

Detailed Description

Definition at line 34 of file mtrie.hpp.


Member Typedef Documentation

typedef std::set<class pipe_t*> zmq::mtrie_t::pipes_t [private]

Definition at line 71 of file mtrie.hpp.


Constructor & Destructor Documentation

zmq::mtrie_t::mtrie_t ( )

Definition at line 35 of file mtrie.cpp.

zmq::mtrie_t::~mtrie_t ( )

Definition at line 41 of file mtrie.cpp.

zmq::mtrie_t::mtrie_t ( const mtrie_t ) [private]

Member Function Documentation

bool zmq::mtrie_t::add ( unsigned char *  prefix_,
size_t  size_,
class pipe_t pipe_ 
)

Definition at line 53 of file mtrie.cpp.

bool zmq::mtrie_t::add_helper ( unsigned char *  prefix_,
size_t  size_,
class pipe_t pipe_ 
) [private]

Definition at line 58 of file mtrie.cpp.

References node, table, and zmq_assert.

void zmq::mtrie_t::match ( unsigned char *  data_,
size_t  size_,
void(*)(class pipe_t *pipe_, void *arg_)  func_,
void *  arg_ 
)
const mtrie_t& zmq::mtrie_t::operator= ( const mtrie_t ) [private]
void zmq::mtrie_t::rm ( class pipe_t pipe_,
void(*)(unsigned char *data_, size_t size_, void *arg_)  func_,
void *  arg_ 
)

Definition at line 135 of file mtrie.cpp.

bool zmq::mtrie_t::rm ( unsigned char *  prefix_,
size_t  size_,
class pipe_t pipe_ 
)

Definition at line 182 of file mtrie.cpp.

bool zmq::mtrie_t::rm_helper ( unsigned char *  prefix_,
size_t  size_,
class pipe_t pipe_ 
) [private]

Definition at line 187 of file mtrie.cpp.

References node, rm_helper(), table, and zmq_assert.

Here is the call graph for this function:

void zmq::mtrie_t::rm_helper ( class pipe_t pipe_,
unsigned char **  buff_,
size_t  buffsize_,
size_t  maxbuffsize_,
void(*)(unsigned char *data_, size_t size_, void *arg_)  func_,
void *  arg_ 
) [private]

Definition at line 144 of file mtrie.cpp.

References alloc_assert.

Referenced by rm_helper().

Here is the caller graph for this function:


Member Data Documentation

unsigned short zmq::mtrie_t::count [private]

Definition at line 75 of file mtrie.hpp.

Referenced by zmq::xsub_t::match().

unsigned char zmq::mtrie_t::min [private]

Definition at line 74 of file mtrie.hpp.

Referenced by zmq::xsub_t::match().

union { ... } zmq::mtrie_t::next [private]

Referenced by zmq::xsub_t::match().

Definition at line 77 of file mtrie.hpp.

Referenced by add_helper(), zmq::xsub_t::match(), and rm_helper().

Definition at line 72 of file mtrie.hpp.

Referenced by zmq::xsub_t::match().

Definition at line 78 of file mtrie.hpp.

Referenced by add_helper(), zmq::xsub_t::match(), and rm_helper().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines