summaryrefslogtreecommitdiff
path: root/src/zmq.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zmq.cpp')
-rw-r--r--src/zmq.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/zmq.cpp b/src/zmq.cpp
index 14898d5..3eb1306 100644
--- a/src/zmq.cpp
+++ b/src/zmq.cpp
@@ -24,6 +24,9 @@
#include <stdlib.h>
#include <new>
+#include "forwarder.hpp"
+#include "queue.hpp"
+#include "streamer.hpp"
#include "socket_base.hpp"
#include "app_thread.hpp"
#include "dispatcher.hpp"
@@ -628,6 +631,23 @@ int zmq_errno ()
return errno;
}
+int zmq_device (int device_, void *insocket_, void *outsocket_)
+{
+ switch (device_) {
+ case ZMQ_FORWARDER:
+ return zmq::forwarder ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ case ZMQ_QUEUE:
+ return zmq::queue ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ case ZMQ_STREAMER:
+ return zmq::streamer ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ default:
+ return EINVAL;
+ }
+}
+
#if defined ZMQ_HAVE_WINDOWS
static uint64_t now ()