diff --git a/include/libtorrent/kademlia/observer.hpp b/include/libtorrent/kademlia/observer.hpp index c085ea9a9..6dcdc5fe5 100644 --- a/include/libtorrent/kademlia/observer.hpp +++ b/include/libtorrent/kademlia/observer.hpp @@ -101,12 +101,6 @@ struct TORRENT_EXTRA_EXPORT observer void set_id(node_id const& id); node_id const& id() const { return m_id; } - void set_transaction_id(std::uint16_t tid) - { m_transaction_id = tid; } - - std::uint16_t transaction_id() const - { return m_transaction_id; } - static constexpr observer_flags_t flag_queried = 0_bit; static constexpr observer_flags_t flag_initial = 1_bit; static constexpr observer_flags_t flag_no_id = 2_bit; @@ -141,8 +135,6 @@ private: std::uint16_t m_port = 0; - // the transaction ID for this call - std::uint16_t m_transaction_id = 0; public: observer_flags_t flags{}; diff --git a/src/kademlia/rpc_manager.cpp b/src/kademlia/rpc_manager.cpp index b89d9424e..21a44ca0b 100644 --- a/src/kademlia/rpc_manager.cpp +++ b/src/kademlia/rpc_manager.cpp @@ -239,11 +239,11 @@ void rpc_manager::unreachable(udp::endpoint const& ep) TORRENT_ASSERT(i->second); if (i->second->target_ep() != ep) { ++i; continue; } observer_ptr o = i->second; - i = m_transactions.erase(i); #ifndef TORRENT_DISABLE_LOGGING m_log->log(dht_logger::rpc_manager, "[%u] found transaction [ tid: %d ]" - , o->algorithm()->id(), int(o->transaction_id())); + , o->algorithm()->id(), int(i->first)); #endif + i = m_transactions.erase(i); o->timeout(); break; } @@ -413,7 +413,7 @@ time_duration rpc_manager::tick() if (m_log->should_log(dht_logger::rpc_manager)) { m_log->log(dht_logger::rpc_manager, "[%u] timing out transaction id: %d from: %s" - , o->algorithm()->id(), o->transaction_id() + , o->algorithm()->id(), i->first , print_endpoint(o->target_ep()).c_str()); } #endif @@ -430,7 +430,7 @@ time_duration rpc_manager::tick() if (m_log->should_log(dht_logger::rpc_manager)) { m_log->log(dht_logger::rpc_manager, "[%u] short-timing out transaction id: %d from: %s" - , o->algorithm()->id(), o->transaction_id() + , o->algorithm()->id(), i->first , print_endpoint(o->target_ep()).c_str()); } #endif @@ -484,7 +484,6 @@ bool rpc_manager::invoke(entry& e, udp::endpoint const& target_addr } o->set_target(target_addr); - o->set_transaction_id(tid); #ifndef TORRENT_DISABLE_LOGGING if (m_log != nullptr && m_log->should_log(dht_logger::rpc_manager))