mirror of
https://github.com/qicosmos/rest_rpc.git
synced 2026-08-29 16:40:48 +08:00
set close() public;
add assert for connect;
This commit is contained in:
+16
-9
@@ -72,6 +72,7 @@ namespace rest_rpc {
|
||||
}
|
||||
|
||||
void async_connect() {
|
||||
assert(port_ != 0);
|
||||
reset_deadline_timer(connect_timeout_);
|
||||
auto addr = boost::asio::ip::address::from_string(host_);
|
||||
socket_.async_connect({ addr, port_ }, [this](const boost::system::error_code& ec) {
|
||||
@@ -99,6 +100,7 @@ namespace rest_rpc {
|
||||
}
|
||||
|
||||
bool connect(size_t timeout = 1) {
|
||||
assert(port_ != 0);
|
||||
async_connect();
|
||||
return wait_conn(timeout);
|
||||
}
|
||||
@@ -132,6 +134,20 @@ namespace rest_rpc {
|
||||
return result;
|
||||
}
|
||||
|
||||
void update_addr(const std::string& host, unsigned short port) {
|
||||
host_ = host;
|
||||
port_ = port;
|
||||
}
|
||||
|
||||
void close() {
|
||||
has_connected_ = false;
|
||||
if (socket_.is_open()) {
|
||||
boost::system::error_code ignored_ec;
|
||||
socket_.shutdown(tcp::socket::shutdown_both, ignored_ec);
|
||||
socket_.close(ignored_ec);
|
||||
}
|
||||
}
|
||||
|
||||
void set_error_callback(std::function<void(boost::system::error_code)> f) {
|
||||
err_cb_ = std::move(f);
|
||||
}
|
||||
@@ -355,15 +371,6 @@ namespace rest_rpc {
|
||||
});
|
||||
}
|
||||
|
||||
void close() {
|
||||
has_connected_ = false;
|
||||
if (socket_.is_open()) {
|
||||
boost::system::error_code ignored_ec;
|
||||
socket_.shutdown(tcp::socket::shutdown_both, ignored_ec);
|
||||
socket_.close(ignored_ec);
|
||||
}
|
||||
}
|
||||
|
||||
boost::asio::io_service ios_;
|
||||
tcp::socket socket_;
|
||||
boost::asio::io_service::work work_;
|
||||
|
||||
Reference in New Issue
Block a user