diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-02-22 20:34:08 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-02-25 08:00:51 +0100 |
| commit | b2c412480aa2cc29bfbb90556f974e9294608898 (patch) | |
| tree | 21679eaa94e91ed8c2eec2800f25fe7abe56827e /src/lib/encode_server_finder.cc | |
| parent | 5ec4efca61906608e2e7a590b3d1c3f2b7078e81 (diff) | |
Avoid boost::bind()ing a shared_ptr.
Diffstat (limited to 'src/lib/encode_server_finder.cc')
| -rw-r--r-- | src/lib/encode_server_finder.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/lib/encode_server_finder.cc b/src/lib/encode_server_finder.cc index 6b288d70d..200286fd9 100644 --- a/src/lib/encode_server_finder.cc +++ b/src/lib/encode_server_finder.cc @@ -203,16 +203,17 @@ catch (...) void EncodeServerFinder::start_accept () { - auto socket = make_shared<Socket>(); + _accept_socket = make_shared<Socket>(); + _listen_acceptor->async_accept ( - socket->socket(), - boost::bind(&EncodeServerFinder::handle_accept, this, boost::asio::placeholders::error, socket) + _accept_socket->socket(), + boost::bind(&EncodeServerFinder::handle_accept, this, boost::asio::placeholders::error) ); } void -EncodeServerFinder::handle_accept (boost::system::error_code ec, shared_ptr<Socket> socket) +EncodeServerFinder::handle_accept (boost::system::error_code ec) { if (ec) { start_accept (); @@ -220,18 +221,17 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec, shared_ptr<Sock } uint32_t length; - socket->read (reinterpret_cast<uint8_t*>(&length), sizeof(uint32_t)); + _accept_socket->read (reinterpret_cast<uint8_t*>(&length), sizeof(uint32_t)); length = ntohl (length); scoped_array<char> buffer(new char[length]); - socket->read (reinterpret_cast<uint8_t*>(buffer.get()), length); + _accept_socket->read (reinterpret_cast<uint8_t*>(buffer.get()), length); string s (buffer.get()); auto xml = make_shared<cxml::Document>("ServerAvailable"); xml->read_string (s); - auto const ip = socket->socket().remote_endpoint().address().to_string(); - } + auto const ip = _accept_socket->socket().remote_endpoint().address().to_string(); bool changed = false; { boost::mutex::scoped_lock lm (_servers_mutex); |
