nano::bootstrap_connections is composed of nano::bootstrap_connection. Convert nano::bootstrap_connection::connections to a reference since it doesn't manage lifetime. (#3435)

This commit is contained in:
clemahieu 2021-09-02 10:25:16 +01:00 committed by GitHub
commit a09a3a32bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 10 deletions

View file

@ -187,7 +187,7 @@ void nano::bulk_pull_client::received_type ()
// Avoid re-using slow peers, or peers that sent the wrong blocks. // Avoid re-using slow peers, or peers that sent the wrong blocks.
if (!connection->pending_stop && (expected == pull.end || (pull.count != 0 && pull.count == pull_blocks))) if (!connection->pending_stop && (expected == pull.end || (pull.count != 0 && pull.count == pull_blocks)))
{ {
connection->connections->pool_connection (connection); connection->connections.pool_connection (connection);
} }
break; break;
} }
@ -253,7 +253,7 @@ void nano::bulk_pull_client::received_block (boost::system::error_code const & e
} }
else if (stop_pull && block_expected) else if (stop_pull && block_expected)
{ {
connection->connections->pool_connection (connection); connection->connections.pool_connection (connection);
} }
} }
else if (block == nullptr) else if (block == nullptr)
@ -376,7 +376,7 @@ void nano::bulk_pull_account_client::receive_pending ()
} }
else else
{ {
this_l->connection->connections->pool_connection (this_l->connection); this_l->connection->connections.pool_connection (this_l->connection);
} }
} }
else else

View file

@ -13,7 +13,7 @@ constexpr double nano::bootstrap_limits::bootstrap_minimum_termination_time_sec;
constexpr unsigned nano::bootstrap_limits::bootstrap_max_new_connections; constexpr unsigned nano::bootstrap_limits::bootstrap_max_new_connections;
constexpr unsigned nano::bootstrap_limits::requeued_pulls_processed_blocks_factor; constexpr unsigned nano::bootstrap_limits::requeued_pulls_processed_blocks_factor;
nano::bootstrap_client::bootstrap_client (std::shared_ptr<nano::node> const & node_a, std::shared_ptr<nano::bootstrap_connections> const & connections_a, std::shared_ptr<nano::transport::channel_tcp> const & channel_a, std::shared_ptr<nano::socket> const & socket_a) : nano::bootstrap_client::bootstrap_client (std::shared_ptr<nano::node> const & node_a, nano::bootstrap_connections & connections_a, std::shared_ptr<nano::transport::channel_tcp> const & channel_a, std::shared_ptr<nano::socket> const & socket_a) :
node (node_a), node (node_a),
connections (connections_a), connections (connections_a),
channel (channel_a), channel (channel_a),
@ -21,14 +21,14 @@ nano::bootstrap_client::bootstrap_client (std::shared_ptr<nano::node> const & no
receive_buffer (std::make_shared<std::vector<uint8_t>> ()), receive_buffer (std::make_shared<std::vector<uint8_t>> ()),
start_time_m (std::chrono::steady_clock::now ()) start_time_m (std::chrono::steady_clock::now ())
{ {
++connections->connections_count; ++connections.connections_count;
receive_buffer->resize (256); receive_buffer->resize (256);
channel->set_endpoint (); channel->set_endpoint ();
} }
nano::bootstrap_client::~bootstrap_client () nano::bootstrap_client::~bootstrap_client ()
{ {
--connections->connections_count; --connections.connections_count;
} }
double nano::bootstrap_client::sample_block_rate () double nano::bootstrap_client::sample_block_rate ()
@ -154,7 +154,7 @@ void nano::bootstrap_connections::connect_client (nano::tcp_endpoint const & end
{ {
this_l->node.logger.try_log (boost::str (boost::format ("Connection established to %1%") % endpoint_a)); this_l->node.logger.try_log (boost::str (boost::format ("Connection established to %1%") % endpoint_a));
} }
auto client (std::make_shared<nano::bootstrap_client> (this_l->node.shared (), this_l, std::make_shared<nano::transport::channel_tcp> (*this_l->node.shared (), socket), socket)); auto client (std::make_shared<nano::bootstrap_client> (this_l->node.shared (), *this_l, std::make_shared<nano::transport::channel_tcp> (*this_l->node.shared (), socket), socket));
this_l->pool_connection (client, true, push_front); this_l->pool_connection (client, true, push_front);
} }
else else

View file

@ -21,7 +21,7 @@ class pull_info;
class bootstrap_client final : public std::enable_shared_from_this<bootstrap_client> class bootstrap_client final : public std::enable_shared_from_this<bootstrap_client>
{ {
public: public:
bootstrap_client (std::shared_ptr<nano::node> const & node_a, std::shared_ptr<nano::bootstrap_connections> const & connections_a, std::shared_ptr<nano::transport::channel_tcp> const & channel_a, std::shared_ptr<nano::socket> const & socket_a); bootstrap_client (std::shared_ptr<nano::node> const & node_a, nano::bootstrap_connections & connections_a, std::shared_ptr<nano::transport::channel_tcp> const & channel_a, std::shared_ptr<nano::socket> const & socket_a);
~bootstrap_client (); ~bootstrap_client ();
std::shared_ptr<nano::bootstrap_client> shared (); std::shared_ptr<nano::bootstrap_client> shared ();
void stop (bool force); void stop (bool force);
@ -29,7 +29,7 @@ public:
double elapsed_seconds () const; double elapsed_seconds () const;
void set_start_time (std::chrono::steady_clock::time_point start_time_a); void set_start_time (std::chrono::steady_clock::time_point start_time_a);
std::shared_ptr<nano::node> node; std::shared_ptr<nano::node> node;
std::shared_ptr<nano::bootstrap_connections> connections; nano::bootstrap_connections & connections;
std::shared_ptr<nano::transport::channel_tcp> channel; std::shared_ptr<nano::transport::channel_tcp> channel;
std::shared_ptr<nano::socket> socket; std::shared_ptr<nano::socket> socket;
std::shared_ptr<std::vector<uint8_t>> receive_buffer; std::shared_ptr<std::vector<uint8_t>> receive_buffer;

View file

@ -199,7 +199,7 @@ void nano::frontier_req_client::received_frontier (boost::system::error_code con
catch (std::future_error &) catch (std::future_error &)
{ {
} }
connection->connections->pool_connection (connection); connection->connections.pool_connection (connection);
} }
} }
else else