+ std::list<AcceptorsElement>::iterator it = acceptors_.begin();
+ for(;it != acceptors_.end(); ++it) {
+/// this might be a needed by a running thread, TODO cleanup
+// delete(it->acceptor_);
+ }
+}
+
+void SyncServer::onResolve(SyncTcpConnection::proto::resolver::iterator& it)
+{
+ while(it != SyncTcpConnection::proto::resolver::iterator()) {
+ SyncTcpConnection::proto::endpoint e = *it;
+
+ AcceptorsElement acceptor;
+ acceptor.acceptor_ = new SyncTcpConnection::proto::acceptor(io_service_);
+ if(!acceptor.acceptor_)
+ AnytunError::throwErr() << "memory error";
+
+ acceptor.acceptor_->open(e.protocol());
+#ifndef _MSC_VER
+ if(e.protocol() == boost::asio::ip::tcp::v6())
+ acceptor.acceptor_->set_option(boost::asio::ip::v6_only(true));
+#endif
+ acceptor.acceptor_->set_option(boost::asio::socket_base::reuse_address(true));
+ acceptor.acceptor_->bind(e);
+ acceptor.acceptor_->listen();
+ acceptor.started_ = false;
+
+ acceptors_.push_back(acceptor);
+
+ cLog.msg(Log::PRIO_NOTICE) << "sync server listening on " << e;
+
+ it++;
+ }
+