summaryrefslogtreecommitdiff
path: root/src/lib/encode_server_finder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-02-22 20:34:08 +0100
committerCarl Hetherington <cth@carlh.net>2022-02-25 08:00:51 +0100
commitb2c412480aa2cc29bfbb90556f974e9294608898 (patch)
tree21679eaa94e91ed8c2eec2800f25fe7abe56827e /src/lib/encode_server_finder.cc
parent5ec4efca61906608e2e7a590b3d1c3f2b7078e81 (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.cc16
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);