Client::resolver is no longer a member variable
This commit is contained in:
parent
a0cd7520ba
commit
944c7fe370
2 changed files with 6 additions and 4 deletions
|
|
@ -152,7 +152,6 @@ namespace SimpleWeb {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::shared_ptr<asio::io_service> io_service;
|
std::shared_ptr<asio::io_service> io_service;
|
||||||
asio::ip::tcp::resolver resolver;
|
|
||||||
|
|
||||||
std::unique_ptr<socket_type> socket;
|
std::unique_ptr<socket_type> socket;
|
||||||
std::mutex socket_mutex;
|
std::mutex socket_mutex;
|
||||||
|
|
@ -160,7 +159,7 @@ namespace SimpleWeb {
|
||||||
std::string host;
|
std::string host;
|
||||||
unsigned short port;
|
unsigned short port;
|
||||||
|
|
||||||
ClientBase(const std::string& host_port, unsigned short default_port) : io_service(new asio::io_service()), resolver(*io_service) {
|
ClientBase(const std::string& host_port, unsigned short default_port) : io_service(new asio::io_service()) {
|
||||||
auto parsed_host_port=parse_host_port(host_port, default_port);
|
auto parsed_host_port=parse_host_port(host_port, default_port);
|
||||||
host=parsed_host_port.first;
|
host=parsed_host_port.first;
|
||||||
port=parsed_host_port.second;
|
port=parsed_host_port.second;
|
||||||
|
|
@ -398,7 +397,9 @@ namespace SimpleWeb {
|
||||||
auto proxy_host_port=parse_host_port(config.proxy_server, 8080);
|
auto proxy_host_port=parse_host_port(config.proxy_server, 8080);
|
||||||
query=std::unique_ptr<asio::ip::tcp::resolver::query>(new asio::ip::tcp::resolver::query(proxy_host_port.first, std::to_string(proxy_host_port.second)));
|
query=std::unique_ptr<asio::ip::tcp::resolver::query>(new asio::ip::tcp::resolver::query(proxy_host_port.first, std::to_string(proxy_host_port.second)));
|
||||||
}
|
}
|
||||||
resolver.async_resolve(*query, [this](const error_code &ec, asio::ip::tcp::resolver::iterator it){
|
|
||||||
|
auto resolver=std::make_shared<asio::ip::tcp::resolver>(*io_service);
|
||||||
|
resolver->async_resolve(*query, [this, resolver](const error_code &ec, asio::ip::tcp::resolver::iterator it){
|
||||||
if(!ec) {
|
if(!ec) {
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(socket_mutex);
|
std::lock_guard<std::mutex> lock(socket_mutex);
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,8 @@ namespace SimpleWeb {
|
||||||
auto proxy_host_port=parse_host_port(config.proxy_server, 8080);
|
auto proxy_host_port=parse_host_port(config.proxy_server, 8080);
|
||||||
query=std::unique_ptr<asio::ip::tcp::resolver::query>(new asio::ip::tcp::resolver::query(proxy_host_port.first, std::to_string(proxy_host_port.second)));
|
query=std::unique_ptr<asio::ip::tcp::resolver::query>(new asio::ip::tcp::resolver::query(proxy_host_port.first, std::to_string(proxy_host_port.second)));
|
||||||
}
|
}
|
||||||
resolver.async_resolve(*query, [this] (const error_code &ec, asio::ip::tcp::resolver::iterator it){
|
auto resolver=std::make_shared<asio::ip::tcp::resolver>(*io_service);
|
||||||
|
resolver->async_resolve(*query, [this, resolver] (const error_code &ec, asio::ip::tcp::resolver::iterator it){
|
||||||
if(!ec) {
|
if(!ec) {
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(socket_mutex);
|
std::lock_guard<std::mutex> lock(socket_mutex);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue