@@ -463,7 +463,7 @@ void node::direct_request(udp::endpoint const& ep, entry& e
463
463
// not really a traversal
464
464
auto algo = std::make_shared<direct_traversal>(*this , node_id (), f);
465
465
466
- auto o = m_rpc.allocate_observer <direct_observer>(algo, ep, node_id ());
466
+ auto o = m_rpc.allocate_observer <direct_observer>(std::move ( algo) , ep, node_id ());
467
467
if (!o) return ;
468
468
#if TORRENT_USE_ASSERTS
469
469
o->m_in_constructor = false ;
@@ -603,9 +603,9 @@ void node::sample_infohashes(udp::endpoint const& ep, sha1_hash const& target
603
603
struct ping_observer : observer
604
604
{
605
605
ping_observer (
606
- std::shared_ptr<traversal_algorithm> const & algorithm
606
+ std::shared_ptr<traversal_algorithm> algorithm
607
607
, udp::endpoint const & ep, node_id const & id)
608
- : observer(algorithm, ep, id)
608
+ : observer(std::move( algorithm) , ep, id)
609
609
{}
610
610
611
611
// parses out "nodes"
@@ -675,8 +675,8 @@ void node::send_single_refresh(udp::endpoint const& ep, int const bucket
675
675
target |= m_id & mask;
676
676
677
677
// create a dummy traversal_algorithm
678
- auto const algo = std::make_shared<traversal_algorithm>(*this , node_id ());
679
- auto o = m_rpc.allocate_observer <ping_observer>(algo, ep, id);
678
+ auto algo = std::make_shared<traversal_algorithm>(*this , node_id ());
679
+ auto o = m_rpc.allocate_observer <ping_observer>(std::move ( algo) , ep, id);
680
680
if (!o) return ;
681
681
#if TORRENT_USE_ASSERTS
682
682
o->m_in_constructor = false ;
0 commit comments