For software that interfaces with Bitcoin Core via RPC, it can be useful to know whether the fRelayTxes flag is set. It could be added to `getnetworkinfo`.

{
    CNode::SweepBanned(); 
    if (!CNode::BannedSetIsDirty())
        return;
    int64_t nStart = GetTimeMillis();
    CBanDB bandb;
    banmap_t banmap;
    CNode::SetBannedSetDirty(false);
    CNode::GetBanned(banmap);
    if (!bandb.Write(banmap))
        CNode::SetBannedSetDirty(true);
    LogPrint("net", "Flushed %d banned node ips/subnets to banlist.dat  %dms\n",
        banmap.size(), GetTimeMillis() - nStart);
}
int64_t PoissonNextSend(int64_t nNow, int average_interval_seconds) {
    return nNow + (int64_t)(log1p(GetRand(1ULL << 48) * -0.0000000000000035527136788 ) * average_interval_seconds * -1000000.0 + 0.5);
}