Skip to content
Permalink
Browse files

RunCommandQueues: little optimization

remove command from queue on success, else do nothing, instead of remove command from queue and push it front on success
  • Loading branch information
nerzhul committed Mar 31, 2015
1 parent 7c12172 commit ab77bf98ee320835e5dc50ed9b013442221f96e8
Showing with 9 additions and 6 deletions.
  1. +9 −6 src/network/connection.cpp
@@ -1190,15 +1190,18 @@ void UDPPeer::RunCommandQueues(
(commands_processed < maxcommands)) {
try {
ConnectionCommand c = channels[i].queued_commands.front();
channels[i].queued_commands.pop_front();
LOG(dout_con<<m_connection->getDesc()
<<" processing queued reliable command "<<std::endl);
if (!processReliableSendCommand(c,max_packet_size)) {
LOG(dout_con<<m_connection->getDesc()

LOG(dout_con << m_connection->getDesc()
<< " processing queued reliable command " << std::endl);

// Packet is processed, remove it from queue
if (processReliableSendCommand(c,max_packet_size)) {
channels[i].queued_commands.pop_front();
} else {
LOG(dout_con << m_connection->getDesc()
<< " Failed to queue packets for peer_id: " << c.peer_id
<< ", delaying sending of " << c.data.getSize()
<< " bytes" << std::endl);
channels[i].queued_commands.push_front(c);
}
}
catch (ItemNotFoundException &e) {

0 comments on commit ab77bf9

Please sign in to comment.
You can’t perform that action at this time.