Added logging for dropped local txes with no i2p/tor connections

This commit is contained in:
Lee Clagett 2020-03-07 18:13:18 -05:00
parent 6def88ad40
commit 6177e4910d
1 changed files with 16 additions and 4 deletions

View File

@ -43,6 +43,9 @@
#include "net/dandelionpp.h" #include "net/dandelionpp.h"
#include "p2p/net_node.h" #include "p2p/net_node.h"
#undef MONERO_DEFAULT_LOG_CATEGORY
#define MONERO_DEFAULT_LOG_CATEGORY "net.p2p.tx"
namespace cryptonote namespace cryptonote
{ {
namespace levin namespace levin
@ -242,6 +245,8 @@ namespace levin
if (!channel.connection.is_nil()) if (!channel.connection.is_nil())
channel.queue.push_back(std::move(message_)); channel.queue.push_back(std::move(message_));
else if (destination_ == 0 && zone_->connection_count == 0)
MWARNING("Unable to send transaction(s) over anonymity network - no available outbound connections");
} }
}; };
@ -286,8 +291,12 @@ namespace levin
return true; return true;
}); });
bool sent = false;
for (const boost::uuids::uuid& connection : connections) for (const boost::uuids::uuid& connection : connections)
zone_->p2p->send(message_.clone(), connection); sent |= zone_->p2p->send(message_.clone(), connection);
if (!sent)
MWARNING("Unable to send transaction(s), no available connections");
} }
}; };
@ -441,9 +450,12 @@ namespace levin
{ {
channel.active = nullptr; channel.active = nullptr;
channel.connection = boost::uuids::nil_uuid(); channel.connection = boost::uuids::nil_uuid();
zone_->strand.post(
update_channels{zone_, get_out_connections(*zone_->p2p)} auto connections = get_out_connections(*zone_->p2p);
); if (connections.empty())
MWARNING("Lost all outbound connections to anonymity network - currently unable to send transaction(s)");
zone_->strand.post(update_channels{zone_, std::move(connections)});
} }
} }