Make send_buffer protected
This commit is contained in:
parent
2d434527a1
commit
0f8bbf80a9
5 changed files with 25 additions and 30 deletions
|
|
@ -1005,14 +1005,9 @@ TEST (node, fork_no_vote_quorum)
|
|||
ASSERT_FALSE (system.wallet (1)->store.fetch (transaction, key1, key3));
|
||||
auto vote = std::make_shared<nano::vote> (key1, key3, 0, 0, std::vector<nano::block_hash>{ send2->hash () });
|
||||
nano::confirm_ack confirm{ nano::dev::network_params.network, vote };
|
||||
std::vector<uint8_t> buffer;
|
||||
{
|
||||
nano::vectorstream stream (buffer);
|
||||
confirm.serialize (stream);
|
||||
}
|
||||
auto channel = node2.network.find_node_id (node3.node_id.pub);
|
||||
ASSERT_NE (nullptr, channel);
|
||||
channel->send_buffer (nano::shared_const_buffer (std::move (buffer)));
|
||||
channel->send (confirm);
|
||||
ASSERT_TIMELY (10s, node3.stats.count (nano::stat::type::message, nano::stat::detail::confirm_ack, nano::stat::dir::in) >= 3);
|
||||
ASSERT_EQ (node1.latest (nano::dev::genesis_key.pub), send1->hash ());
|
||||
ASSERT_EQ (node2.latest (nano::dev::genesis_key.pub), send1->hash ());
|
||||
|
|
|
|||
|
|
@ -35,15 +35,6 @@ public:
|
|||
nano::transport::buffer_drop_policy policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic);
|
||||
|
||||
/// Implements the actual send operation
|
||||
/// @returns true if the message was sent (or queued to be sent), false if it was immediately dropped
|
||||
// TODO: Make this private, do not allow external direct calls
|
||||
virtual bool send_buffer (nano::shared_const_buffer const &,
|
||||
callback_t const & callback = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic)
|
||||
= 0;
|
||||
|
||||
virtual void close () = 0;
|
||||
|
||||
virtual nano::endpoint get_remote_endpoint () const = 0;
|
||||
|
|
@ -131,6 +122,13 @@ public:
|
|||
|
||||
std::shared_ptr<nano::node> owner () const;
|
||||
|
||||
protected:
|
||||
virtual bool send_buffer (nano::shared_const_buffer const &,
|
||||
callback_t const & callback = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic)
|
||||
= 0;
|
||||
|
||||
protected:
|
||||
nano::node & node;
|
||||
mutable nano::mutex mutex;
|
||||
|
|
|
|||
|
|
@ -19,12 +19,6 @@ namespace transport
|
|||
|
||||
std::string to_string () const override;
|
||||
|
||||
bool send_buffer (
|
||||
nano::shared_const_buffer const &,
|
||||
std::function<void (boost::system::error_code const &, std::size_t)> const & = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic) override;
|
||||
|
||||
void set_endpoint (nano::endpoint const & endpoint_a)
|
||||
{
|
||||
endpoint = endpoint_a;
|
||||
|
|
@ -55,6 +49,13 @@ namespace transport
|
|||
return !closed;
|
||||
}
|
||||
|
||||
protected:
|
||||
bool send_buffer (
|
||||
nano::shared_const_buffer const &,
|
||||
std::function<void (boost::system::error_code const &, std::size_t)> const & = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic) override;
|
||||
|
||||
private:
|
||||
nano::endpoint endpoint;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,9 +17,6 @@ namespace transport
|
|||
public:
|
||||
explicit channel (nano::node & node, nano::node & destination);
|
||||
|
||||
// TODO: investigate clang-tidy warning about default parameters on virtual/override functions
|
||||
bool send_buffer (nano::shared_const_buffer const &, std::function<void (boost::system::error_code const &, std::size_t)> const & = nullptr, nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter, nano::transport::traffic_type = nano::transport::traffic_type::generic) override;
|
||||
|
||||
std::string to_string () const override;
|
||||
|
||||
nano::endpoint get_remote_endpoint () const override
|
||||
|
|
@ -42,6 +39,9 @@ namespace transport
|
|||
// Can't be closed
|
||||
}
|
||||
|
||||
protected:
|
||||
bool send_buffer (nano::shared_const_buffer const &, std::function<void (boost::system::error_code const &, std::size_t)> const & = nullptr, nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter, nano::transport::traffic_type = nano::transport::traffic_type::generic) override;
|
||||
|
||||
private:
|
||||
nano::node & destination;
|
||||
nano::endpoint const endpoint;
|
||||
|
|
|
|||
|
|
@ -50,12 +50,6 @@ public:
|
|||
|
||||
void close () override;
|
||||
|
||||
bool send_buffer (nano::shared_const_buffer const &,
|
||||
nano::transport::channel::callback_t const & callback = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic)
|
||||
override;
|
||||
|
||||
bool max (nano::transport::traffic_type traffic_type) override;
|
||||
bool alive () const override;
|
||||
|
||||
|
|
@ -69,6 +63,13 @@ public:
|
|||
|
||||
std::string to_string () const override;
|
||||
|
||||
protected:
|
||||
bool send_buffer (nano::shared_const_buffer const &,
|
||||
nano::transport::channel::callback_t const & callback = nullptr,
|
||||
nano::transport::buffer_drop_policy = nano::transport::buffer_drop_policy::limiter,
|
||||
nano::transport::traffic_type = nano::transport::traffic_type::generic)
|
||||
override;
|
||||
|
||||
private:
|
||||
void start ();
|
||||
void stop ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue