Cleaning up networking keepalive stuff.

This commit is contained in:
clemahieu 2014-10-27 18:34:26 -05:00
commit cf210c993e
5 changed files with 30 additions and 32 deletions

View file

@ -49,7 +49,7 @@ namespace
}
bool constexpr log_to_cerr ()
{
return false;
return true;
}
}
@ -234,7 +234,7 @@ void rai::network::receive_action (boost::system::error_code const & error, size
if (!error)
{
++keepalive_req_count;
client.processor.process_message (incoming, sender, known_peer);
client.processor.process_message (incoming, sender);
}
else
{
@ -251,7 +251,7 @@ void rai::network::receive_action (boost::system::error_code const & error, size
if (!error)
{
++keepalive_ack_count;
client.processor.process_message (incoming, sender, known_peer);
client.processor.process_message (incoming, sender);
}
else
{
@ -270,7 +270,7 @@ void rai::network::receive_action (boost::system::error_code const & error, size
if (!work.validate (incoming.block->hash (), incoming.work))
{
++publish_req_count;
client.processor.process_message (incoming, sender, known_peer);
client.processor.process_message (incoming, sender);
}
else
{
@ -298,7 +298,7 @@ void rai::network::receive_action (boost::system::error_code const & error, size
if (!work.validate (incoming.block->hash (), incoming.work))
{
++confirm_req_count;
client.processor.process_message (incoming, sender, known_peer);
client.processor.process_message (incoming, sender);
}
else
{
@ -324,7 +324,7 @@ void rai::network::receive_action (boost::system::error_code const & error, size
if (!error)
{
++confirm_ack_count;
client.processor.process_message (incoming, sender, known_peer);
client.processor.process_message (incoming, sender);
}
else
{
@ -3590,10 +3590,9 @@ namespace
class network_message_visitor : public rai::message_visitor
{
public:
network_message_visitor (rai::client & client_a, rai::endpoint const & sender_a, bool known_peer_a) :
network_message_visitor (rai::client & client_a, rai::endpoint const & sender_a) :
client (client_a),
sender (sender_a),
known_peer (known_peer_a)
sender (sender_a)
{
}
void keepalive_req (rai::keepalive_req const & message_a) override
@ -3685,13 +3684,12 @@ public:
}
rai::client & client;
rai::endpoint sender;
bool known_peer;
};
}
void rai::processor::process_message (rai::message & message_a, rai::endpoint const & endpoint_a, bool known_peer_a)
void rai::processor::process_message (rai::message & message_a, rai::endpoint const & endpoint_a)
{
network_message_visitor visitor (client, endpoint_a, known_peer_a);
network_message_visitor visitor (client, endpoint_a);
message_a.visit (visitor);
}

View file

@ -353,7 +353,7 @@ namespace rai {
rai::process_result process_receive (rai::block const &);
void process_receive_republish (std::unique_ptr <rai::block>, rai::endpoint const &);
void republish (std::unique_ptr <rai::block>, rai::endpoint const &);
void process_message (rai::message &, rai::endpoint const &, bool);
void process_message (rai::message &, rai::endpoint const &);
void process_unknown (rai::vectorstream &);
void process_confirmation (rai::block const &, rai::endpoint const &);
void process_confirmed (rai::block const &);

View file

@ -192,6 +192,6 @@ TEST (client, receive_gap)
rai::send_block block;
rai::confirm_req message;
message.block = block.clone ();
client.processor.process_message (message, rai::endpoint {}, false);
client.processor.process_message (message, rai::endpoint {});
ASSERT_EQ (1, client.gap_cache.blocks.size ());
}

View file

@ -1078,9 +1078,9 @@ TEST (fork, publish)
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, send2->hash (), send2->signature);
rai::publish publish2;
publish2.block = std::move (send2);
client1.processor.process_message (publish1, rai::endpoint {}, true);
client1.processor.process_message (publish1, rai::endpoint {});
ASSERT_EQ (0, client1.conflicts.roots.size ());
client1.processor.process_message (publish2, rai::endpoint {}, true);
client1.processor.process_message (publish2, rai::endpoint {});
ASSERT_EQ (1, client1.conflicts.roots.size ());
auto conflict1 (client1.conflicts.roots.find (client1.store.root (*publish1.block)));
ASSERT_NE (client1.conflicts.roots.end (), conflict1);
@ -1127,12 +1127,12 @@ TEST (fork, keep)
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, send2->hash (), send2->signature);
rai::publish publish2;
publish2.block = std::move (send2);
client1.processor.process_message (publish1, rai::endpoint {}, true);
client2.processor.process_message (publish1, rai::endpoint {}, true);
client1.processor.process_message (publish1, rai::endpoint {});
client2.processor.process_message (publish1, rai::endpoint {});
ASSERT_EQ (0, client1.conflicts.roots.size ());
ASSERT_EQ (0, client2.conflicts.roots.size ());
client1.processor.process_message (publish2, rai::endpoint {}, true);
client2.processor.process_message (publish2, rai::endpoint {}, true);
client1.processor.process_message (publish2, rai::endpoint {});
client2.processor.process_message (publish2, rai::endpoint {});
ASSERT_EQ (1, client1.conflicts.roots.size ());
ASSERT_EQ (1, client2.conflicts.roots.size ());
auto conflict (client2.conflicts.roots.find (genesis.hash ()));
@ -1178,12 +1178,12 @@ TEST (fork, flip)
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, send2->hash (), send2->signature);
rai::publish publish2;
publish2.block = std::move (send2);
client1.processor.process_message (publish1, rai::endpoint {}, true);
client2.processor.process_message (publish2, rai::endpoint {}, true);
client1.processor.process_message (publish1, rai::endpoint {});
client2.processor.process_message (publish2, rai::endpoint {});
ASSERT_EQ (0, client1.conflicts.roots.size ());
ASSERT_EQ (0, client2.conflicts.roots.size ());
client1.processor.process_message (publish2, rai::endpoint {}, true);
client2.processor.process_message (publish1, rai::endpoint {}, true);
client1.processor.process_message (publish2, rai::endpoint {});
client2.processor.process_message (publish1, rai::endpoint {});
ASSERT_EQ (1, client1.conflicts.roots.size ());
ASSERT_EQ (1, client2.conflicts.roots.size ());
auto conflict (client2.conflicts.roots.find (genesis.hash ()));
@ -1237,14 +1237,14 @@ TEST (fork, multi_flip)
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, send3->hash (), send3->signature);
rai::publish publish3;
publish3.block = std::move (send3);
client1.processor.process_message (publish1, rai::endpoint {}, true);
client2.processor.process_message (publish2, rai::endpoint {}, true);
client2.processor.process_message (publish3, rai::endpoint {}, true);
client1.processor.process_message (publish1, rai::endpoint {});
client2.processor.process_message (publish2, rai::endpoint {});
client2.processor.process_message (publish3, rai::endpoint {});
ASSERT_EQ (0, client1.conflicts.roots.size ());
ASSERT_EQ (0, client2.conflicts.roots.size ());
client1.processor.process_message (publish2, rai::endpoint {}, true);
client1.processor.process_message (publish3, rai::endpoint {}, true);
client2.processor.process_message (publish1, rai::endpoint {}, true);
client1.processor.process_message (publish2, rai::endpoint {});
client1.processor.process_message (publish3, rai::endpoint {});
client2.processor.process_message (publish1, rai::endpoint {});
ASSERT_EQ (1, client1.conflicts.roots.size ());
ASSERT_EQ (1, client2.conflicts.roots.size ());
auto conflict (client2.conflicts.roots.find (genesis.hash ()));

View file

@ -294,7 +294,7 @@ TEST (receivable_processor, confirm_insufficient_pos)
con1.vote.address = key1.pub;
con1.vote.block = block1.clone ();
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, con1.vote.hash (), con1.vote.signature);
client1.processor.process_message (con1, rai::endpoint (boost::asio::ip::address_v4 (0x7f000001), 10000), true);
client1.processor.process_message (con1, rai::endpoint (boost::asio::ip::address_v4 (0x7f000001), 10000));
}
TEST (receivable_processor, confirm_sufficient_pos)
@ -313,7 +313,7 @@ TEST (receivable_processor, confirm_sufficient_pos)
con1.vote.address = key1.pub;
con1.vote.block = block1.clone ();
rai::sign_message (rai::test_genesis_key.prv, rai::test_genesis_key.pub, con1.vote.hash (), con1.vote.signature);
client1.processor.process_message (con1, rai::endpoint (boost::asio::ip::address_v4 (0x7f000001), 10000), true);
client1.processor.process_message (con1, rai::endpoint (boost::asio::ip::address_v4 (0x7f000001), 10000));
}
TEST (receivable_processor, send_with_receive)