mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-22 16:02:31 +02:00
radio-dish pattern
This commit is contained in:
@@ -92,6 +92,8 @@
|
||||
#include "stream.hpp"
|
||||
#include "server.hpp"
|
||||
#include "client.hpp"
|
||||
#include "radio.hpp"
|
||||
#include "dish.hpp"
|
||||
|
||||
#define ENTER_MUTEX() \
|
||||
if (thread_safe) \
|
||||
@@ -153,6 +155,12 @@ zmq::socket_base_t *zmq::socket_base_t::create (int type_, class ctx_t *parent_,
|
||||
case ZMQ_CLIENT:
|
||||
s = new (std::nothrow) client_t (parent_, tid_, sid_);
|
||||
break;
|
||||
case ZMQ_RADIO:
|
||||
s = new (std::nothrow) radio_t (parent_, tid_, sid_);
|
||||
break;
|
||||
case ZMQ_DISH:
|
||||
s = new (std::nothrow) dish_t (parent_, tid_, sid_);
|
||||
break;
|
||||
default:
|
||||
errno = EINVAL;
|
||||
return NULL;
|
||||
@@ -457,6 +465,28 @@ int zmq::socket_base_t::getsockopt (int option_, void *optval_,
|
||||
return rc;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::join (const char* group_)
|
||||
{
|
||||
ENTER_MUTEX ();
|
||||
|
||||
int rc = xjoin (group_);
|
||||
|
||||
EXIT_MUTEX();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::leave (const char* group_)
|
||||
{
|
||||
ENTER_MUTEX ();
|
||||
|
||||
int rc = xleave (group_);
|
||||
|
||||
EXIT_MUTEX();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::add_signaler(signaler_t *s_)
|
||||
{
|
||||
ENTER_MUTEX ();
|
||||
@@ -1396,6 +1426,18 @@ bool zmq::socket_base_t::xhas_in ()
|
||||
return false;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::xjoin (const char *group_)
|
||||
{
|
||||
errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::xleave (const char *group_)
|
||||
{
|
||||
errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int zmq::socket_base_t::xrecv (msg_t *)
|
||||
{
|
||||
errno = ENOTSUP;
|
||||
|
Reference in New Issue
Block a user