diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-09-04 12:14:21 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-09-04 12:14:21 -0700 |
| commit | 3a959a7763b44ffcddce557167169150a28b9059 (patch) | |
| tree | b2e07eba02cdd1716ba21cae14224e8fefa4d1b4 /node/Node.cpp | |
| parent | cfd101c9b85b20e5911445998a6f040089e3e414 (diff) | |
| download | infinitytier-3a959a7763b44ffcddce557167169150a28b9059.tar.gz infinitytier-3a959a7763b44ffcddce557167169150a28b9059.zip | |
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
Diffstat (limited to 'node/Node.cpp')
| -rw-r--r-- | node/Node.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/node/Node.cpp b/node/Node.cpp index 534c085d..c8c50d66 100644 --- a/node/Node.cpp +++ b/node/Node.cpp @@ -355,7 +355,8 @@ void Node::status(ZT1_NodeStatus *status) const ZT1_PeerList *Node::peers() const { - std::map< Address,SharedPtr<Peer> > peers(RR->topology->allPeers()); + std::vector< std::pair< Address,SharedPtr<Peer> > > peers(RR->topology->allPeers()); + std::sort(peers.begin(),peers.end()); char *buf = (char *)::malloc(sizeof(ZT1_PeerList) + (sizeof(ZT1_Peer) * peers.size())); if (!buf) @@ -364,7 +365,7 @@ ZT1_PeerList *Node::peers() const pl->peers = (ZT1_Peer *)(buf + sizeof(ZT1_PeerList)); pl->peerCount = 0; - for(std::map< Address,SharedPtr<Peer> >::iterator pi(peers.begin());pi!=peers.end();++pi) { + for(std::vector< std::pair< Address,SharedPtr<Peer> > >::iterator pi(peers.begin());pi!=peers.end();++pi) { ZT1_Peer *p = &(pl->peers[pl->peerCount++]); p->address = pi->second->address().toInt(); p->lastUnicastFrame = pi->second->lastUnicastFrame(); |
