summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/contrib/zeromq/test-server.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/jaegertracing/thrift/contrib/zeromq/test-server.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/contrib/zeromq/test-server.cpp b/src/jaegertracing/thrift/contrib/zeromq/test-server.cpp
new file mode 100644
index 000000000..e6f1b2083
--- /dev/null
+++ b/src/jaegertracing/thrift/contrib/zeromq/test-server.cpp
@@ -0,0 +1,43 @@
+#include "zmq.hpp"
+#include "TZmqServer.h"
+#include "Storage.h"
+
+using apache::thrift::std::shared_ptr;
+using apache::thrift::TProcessor;
+using apache::thrift::server::TZmqServer;
+using apache::thrift::server::TZmqMultiServer;
+
+class StorageHandler : virtual public StorageIf {
+ public:
+ StorageHandler()
+ : value_(0)
+ {}
+
+ void incr(const int32_t amount) {
+ value_ += amount;
+ }
+
+ int32_t get() {
+ return value_;
+ }
+
+ private:
+ int32_t value_;
+
+};
+
+
+int main(int argc, char *argv[]) {
+ shared_ptr<StorageHandler> handler(new StorageHandler());
+ shared_ptr<TProcessor> processor(new StorageProcessor(handler));
+
+ zmq::context_t ctx(1);
+ TZmqServer reqrep_server(processor, ctx, "tcp://0.0.0.0:9090", ZMQ_REP);
+ TZmqServer oneway_server(processor, ctx, "tcp://0.0.0.0:9091", ZMQ_PULL);
+ TZmqMultiServer multiserver;
+ multiserver.servers().push_back(&reqrep_server);
+ multiserver.servers().push_back(&oneway_server);
+ multiserver.serveForever();
+
+ return 0;
+}