Add some additional detail to the peer record in CAPI and JSON control plane.

This commit is contained in:
Adam Ierymenko 2015-04-15 19:00:26 -07:00
parent 91ca238163
commit d2503172d8
4 changed files with 32 additions and 10 deletions

View File

@ -560,6 +560,16 @@ typedef struct
*/
uint64_t address;
/**
* Time we last received a unicast frame from this peer
*/
uint64_t lastUnicastFrame;
/**
* Time we last received a multicast rame from this peer
*/
uint64_t lastMulticastFrame;
/**
* Remote major version or -1 if not known
*/

View File

@ -343,6 +343,8 @@ ZT1_PeerList *Node::peers() const
for(std::map< 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();
p->lastMulticastFrame = pi->second->lastMulticastFrame();
if (pi->second->remoteVersionKnown()) {
p->versionMajor = pi->second->remoteVersionMajor();
p->versionMinor = pi->second->remoteVersionMinor();

26
one.cpp
View File

@ -675,16 +675,6 @@ int main(int argc,char **argv)
return 0; // forked
// else p == 0, so we are daemonized
}
{
// Write .pid file to home folder
std::string pidPath(homeDir + ZT_PATH_SEPARATOR_S + ZT1_PID_PATH);
FILE *pf = fopen(pidPath.c_str(),"w");
if (pf) {
fprintf(pf,"%ld",(long)getpid());
fclose(pf);
}
}
#endif // __UNIX_LIKE__
#ifdef __WINDOWS__
@ -723,6 +713,18 @@ int main(int argc,char **argv)
}
#endif // ZT_ENABLE_NETWORK_CONTROLLER
#ifdef __UNIX_LIKE__
std::string pidPath(homeDir + ZT_PATH_SEPARATOR_S + ZT1_PID_PATH);
{
// Write .pid file to home folder
FILE *pf = fopen(pidPath.c_str(),"w");
if (pf) {
fprintf(pf,"%ld",(long)getpid());
fclose(pf);
}
}
#endif // __UNIX_LIKE__
unsigned int returnValue = 0;
try {
@ -762,5 +764,9 @@ int main(int argc,char **argv)
zt1Service = (OneService *)0;
delete controller;
#ifdef __UNIX_LIKE__
OSUtils::rm(pidPath.c_str());
#endif
return returnValue;
}

View File

@ -177,6 +177,8 @@ static void _jsonAppend(std::string &buf,const ZT1_Peer *peer)
Utils::snprintf(json,sizeof(json),
"{"
"\"address\": \"%.10llx\","
"\"lastUnicastFrame\": %llu,"
"\"lastMulticastFrame\": %llu,"
"\"versionMajor\": %d,"
"\"versionMinor\": %d,"
"\"versionRev\": %d,"
@ -186,6 +188,8 @@ static void _jsonAppend(std::string &buf,const ZT1_Peer *peer)
"\"paths\": %s"
"}",
peer->address,
peer->lastUnicastFrame,
peer->lastMulticastFrame,
peer->versionMajor,
peer->versionMinor,
peer->versionRev,