X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=src%2FsyncServer.h;h=032e97515b65458cb4f62eb3898738928733679b;hb=bf2cb4e3379948d1f2e65f2a6373cf0f8c379481;hp=b73247f1c40703c9ec6687766344a89e7212c2c3;hpb=f9ad69dfae6bcec427652b0c4230603e465bd544;p=anytun.git diff --git a/src/syncServer.h b/src/syncServer.h index b73247f..032e975 100644 --- a/src/syncServer.h +++ b/src/syncServer.h @@ -50,7 +50,8 @@ class SyncServer { public: SyncServer(std::string localaddr, std::string port, ConnectCallback onConnect); - void onResolve(const SyncTcpConnection::proto::endpoint& e); + ~SyncServer(); + void onResolve(SyncTcpConnection::proto::resolver::iterator& it); void onResolvError(const std::runtime_error& e); void run(); @@ -59,14 +60,18 @@ public: std::list conns_; private: - void start_accept(); - void handle_accept(SyncTcpConnection::pointer new_connection, const boost::system::error_code& error); - Mutex mutex_; //Mutex for list conns_ boost::asio::io_service io_service_; - SyncTcpConnection::proto::acceptor acceptor_; + typedef struct { + SyncTcpConnection::proto::acceptor* acceptor_; + bool started_; + } AcceptorsElement; + std::list acceptors_; ConnectCallback onConnect_; Semaphore ready_sem_; + + void start_accept(); + void handle_accept(SyncTcpConnection::pointer new_connection, const boost::system::error_code& error, std::list::iterator it); }; #endif