lichao
2021-05-28 9243710ca372de26823c2225c7b46b072458c671
box/tcp_proxy.h
@@ -18,28 +18,24 @@
#ifndef TCP_PROXY_E1YJ92U5
#define TCP_PROXY_E1YJ92U5
#include "shm.h"
#include "bh_util.h"
#include "io_service.h"
#include "tcp_common.h"
#include <atomic>
#include <thread>
#include <memory>
class ShmSocket;
class NodeCenter;
typedef std::shared_ptr<Synced<NodeCenter>> CenterPtr;
class TcpProxy
{
public:
   TcpProxy();
   ~TcpProxy();
   bool Start(bhome_shm::SharedMemory &shm);
   void Stop();
   typedef IoService::io_service_t io_service_t;
   TcpProxy(io_service_t &io) :
       io_(io) {}
   bool Request(const std::string &ip, int port, std::string &&content, ReplyCB const &cb);
private:
   bool Request(const std::string &ip, int port, std::string &&content);
   std::unique_ptr<ShmSocket> local_;
   boost::asio::io_context io_context_;
   std::thread worker_;
   std::atomic<bool> run_;
   io_service_t &io_;
};
#endif // end of include guard: TCP_PROXY_E1YJ92U5