More correct and efficient to initialize member relationship push stuff lazily when member is learned.

This commit is contained in:
Adam Ierymenko 2016-09-07 15:47:20 -07:00
parent 20278bb9e4
commit daf8a66ced
4 changed files with 30 additions and 17 deletions

View file

@ -89,11 +89,10 @@ void Membership::sendCredentialsIfNeeded(const RuntimeEnvironment *RR,const uint
}
}
int Membership::addCredential(const RuntimeEnvironment *RR,const Network *network,const CertificateOfMembership &com)
int Membership::addCredential(const RuntimeEnvironment *RR,const CertificateOfMembership &com)
{
if (_com == com) {
TRACE("addCredential(CertificateOfMembership) for %s on %.16llx ACCEPTED (redundant)",com.issuedTo().toString().c_str(),com.networkId());
sendCredentialsIfNeeded(RR,RR->node->now(),com.issuedTo(),network->config(),(const Capability *)0);
return 0;
}
@ -104,7 +103,6 @@ int Membership::addCredential(const RuntimeEnvironment *RR,const Network *networ
if (com.timestamp().first > _com.timestamp().first) {
_com = com;
}
sendCredentialsIfNeeded(RR,RR->node->now(),com.issuedTo(),network->config(),(const Capability *)0);
} else {
TRACE("addCredential(CertificateOfMembership) for %s on %.16llx REJECTED (%d)",com.issuedTo().toString().c_str(),com.networkId(),vr);
}