Set a timeout for https async_resolve

This commit is contained in:
Hungpo DU 2022-02-18 12:25:25 +08:00
commit bdb105712b

View file

@ -64,7 +64,9 @@ namespace SimpleWeb {
void connect(const std::shared_ptr<Session> &session) override { void connect(const std::shared_ptr<Session> &session) override {
if(!session->connection->socket->lowest_layer().is_open()) { if(!session->connection->socket->lowest_layer().is_open()) {
auto resolver = std::make_shared<asio::ip::tcp::resolver>(*io_service); auto resolver = std::make_shared<asio::ip::tcp::resolver>(*io_service);
session->connection->set_timeout(this->config.timeout_connect);
async_resolve(*resolver, *host_port, [this, session, resolver](const error_code &ec, resolver_results results) { async_resolve(*resolver, *host_port, [this, session, resolver](const error_code &ec, resolver_results results) {
session->connection->cancel_timeout();
auto lock = session->connection->handler_runner->continue_lock(); auto lock = session->connection->handler_runner->continue_lock();
if(!lock) if(!lock)
return; return;