mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
New ResourceManager for managing server load.
* Track abusive endpoints * Gossip across cluster. * Use resource manager's gossip support to share load reporting across a cluster * Swtich from legacy fees to new Resource::Charge fees. * Connect RPC to the new resource manager. * Set load levels where needed in RPC/websocket commands. * Disconnect abusive peer endpoints. * Don't start conversations with abusive peer endpoints. * Move Resource::Consumer to InfoSub and remove LoadSource * Remove port from inbound Consumer keys * Add details in getJson * Fix doAccountCurrencies for the new resource manager.
This commit is contained in:
committed by
Vinnie Falco
parent
a05f33f6a7
commit
58f07a573f
@@ -567,6 +567,14 @@ void NetworkOPsImp::processClusterTimer ()
|
||||
node.set_nodename(it->second.getName());
|
||||
}
|
||||
|
||||
Resource::Gossip gossip = getApp().getResourceManager().exportConsumers();
|
||||
BOOST_FOREACH (Resource::Gossip::Item const& item, gossip.items)
|
||||
{
|
||||
protocol::TMLoadSource& node = *cluster.add_loadsources();
|
||||
node.set_name (item.address);
|
||||
node.set_cost (item.balance);
|
||||
}
|
||||
|
||||
PackedMessage::pointer message = boost::make_shared<PackedMessage>(cluster, protocol::mtCLUSTER);
|
||||
getApp().getPeers().relayMessageCluster (NULL, message);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user