41     verbose_unsubs (false),
    65     if (subscribe_to_all_)
    88     while (pipe_->
read (&sub)) {
    90         unsigned char *
const data = (
unsigned char *) sub.
data ();
    92         if (size > 0 && (*data == 0 || *data == 1)) {
   141         if (optvallen_ != 
sizeof(
int) || *static_cast <const int*> (optval_) < 0) {
   146             verbose_subs = (*static_cast <
const int*> (optval_) != 0);
   151             verbose_subs = (*static_cast <
const int*> (optval_) != 0);
   156             lossy = (*static_cast <
const int*> (optval_) == 0);
   159             manual = (*static_cast <
const int*> (optval_) != 0);
   175         if (optvallen_ > 0) {
   180             memcpy(data, optval_, optvallen_);
   257     int rc = msg_->
close ();
   261     memcpy (msg_->
data (),
   287     if (self->options.type != 
ZMQ_PUB) {
   290         blob_t unsub (size_ + 1, 0);
   293             memcpy (&unsub [1], data_, size_);
   294         self->pending_data.push_back (unsub);
   295         self->pending_metadata.push_back (NULL);
   296         self->pending_flags.push_back (0);
   299             self->last_pipe = NULL;
   300             self->pending_pipes.push_back (NULL);
 
#define ZMQ_XPUB_VERBOSER
 
void match(unsigned char *data_, size_t size_, void(*func_)(zmq::pipe_t *pipe_, void *arg_), void *arg_)
 
std::deque< pipe_t * > pending_pipes
 
static void send_unsubscription(unsigned char *data_, size_t size_, void *arg_)
 
void xattach_pipe(zmq::pipe_t *pipe_, bool subscribe_to_all_=false)
 
void activated(zmq::pipe_t *pipe_)
 
std::deque< metadata_t * > pending_metadata
 
int xsend(zmq::msg_t *msg_)
 
std::deque< blob_t > pending_data
 
std::deque< unsigned char > pending_flags
 
void match(zmq::pipe_t *pipe_)
 
#define ZMQ_XPUB_WELCOME_MSG
 
int init_size(size_t size_)
 
xpub_t(zmq::ctx_t *parent_, uint32_t tid_, int sid_)
 
void xpipe_terminated(zmq::pipe_t *pipe_)
 
int send_to_matching(zmq::msg_t *msg_)
 
void attach(zmq::pipe_t *pipe_)
 
int xsetsockopt(int option_, const void *optval_, size_t optvallen_)
 
std::basic_string< unsigned char > blob_t
 
static void mark_as_matching(zmq::pipe_t *pipe_, void *arg_)
 
bool add(unsigned char *prefix_, size_t size_, zmq::pipe_t *pipe_)
 
void set_flags(unsigned char flags_)
 
unsigned char data[max_vsm_size]
 
void pipe_terminated(zmq::pipe_t *pipe_)
 
void rm(zmq::pipe_t *pipe_, void(*func_)(unsigned char *data_, size_t size_, void *arg_), void *arg_, bool call_on_uniq_)
 
void xread_activated(zmq::pipe_t *pipe_)
 
void xwrite_activated(zmq::pipe_t *pipe_)
 
int xrecv(zmq::msg_t *msg_)
 
void set_metadata(metadata_t *metadata_)