Merge pull request #744 from RetroPooh/tunnel-names

transfers - add peer names for turtle routed sources
This commit is contained in:
csoler 2017-09-25 21:35:59 +02:00 committed by GitHub
commit cbeefda151
4 changed files with 28 additions and 2 deletions

View file

@ -129,6 +129,8 @@ class RsTurtle
///
virtual void registerTunnelService(RsTurtleClientService *service) = 0;
virtual std::string getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id) = 0;
// Get info from the turtle router. I use std strings to hide the internal structs.
//
virtual void getInfo(std::vector<std::vector<std::string> >&,std::vector<std::vector<std::string> >&,

View file

@ -2020,6 +2020,25 @@ void p3turtle::getTrafficStatistics(TurtleTrafficStatisticsInfo& info) const
}
}
std::string p3turtle::getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id)
{
RsStackMutex stack(mTurtleMtx); /********** STACK LOCKED MTX ******/
std::string name = "unknown";
std::map<TurtleVirtualPeerId,TurtleTunnelId>::const_iterator it(_virtual_peers.find(virtual_peer_id)) ;
if(it != _virtual_peers.end())
{
std::map<TurtleTunnelId,TurtleTunnel>::iterator it2( _local_tunnels.find(it->second) ) ;
if(it2 != _local_tunnels.end())
{
if(it2->second.local_src == _own_id)
mLinkMgr->getPeerName(it2->second.local_dst,name);
else
mLinkMgr->getPeerName(it2->second.local_src,name);
}
}
return name;
}
void p3turtle::getInfo( std::vector<std::vector<std::string> >& hashes_info,
std::vector<std::vector<std::string> >& tunnels_info,
std::vector<TurtleRequestDisplayInfo >& search_reqs_info,

View file

@ -275,6 +275,8 @@ class p3turtle: public p3Service, public RsTurtle, public p3Config
///
virtual void registerTunnelService(RsTurtleClientService *service) ;
virtual std::string getPeerNameForVirtualPeerId(const RsPeerId& virtual_peer_id);
/// get info about tunnels
virtual void getInfo(std::vector<std::vector<std::string> >&,
std::vector<std::vector<std::string> >&,