| #include <iostream> |
| #include <cstdlib> |
| #include <protocol/TBinaryProtocol.h> |
| |
| #include "zmq.hpp" |
| #include "TZmqClient.h" |
| #include "Storage.h" |
| |
| using boost::shared_ptr; |
| using apache::thrift::transport::TZmqClient; |
| using apache::thrift::protocol::TBinaryProtocol; |
| |
| int main(int argc, char** argv) { |
| const char* endpoint = "tcp://127.0.0.1:9090"; |
| int socktype = ZMQ_REQ; |
| int incr = 0; |
| if (argc > 1) { |
| incr = atoi(argv[1]); |
| if (incr) { |
| socktype = ZMQ_DOWNSTREAM; |
| endpoint = "tcp://127.0.0.1:9091"; |
| } |
| } |
| |
| zmq::context_t ctx(1); |
| shared_ptr<TZmqClient> transport(new TZmqClient(ctx, endpoint, socktype)); |
| shared_ptr<TBinaryProtocol> protocol(new TBinaryProtocol(transport)); |
| StorageClient client(protocol); |
| transport->open(); |
| |
| if (incr) { |
| client.incr(incr); |
| usleep(50000); |
| } else { |
| int value = client.get(); |
| std::cout << value << std::endl; |
| } |
| |
| return 0; |
| } |