//--------------------------------------------------------------------- Status Map::refresh() { if (mImage == nullptr) { Log::error(TAG, "Refreshing Map that doesn't have cache"); assert(!"Refreshing Map that doesn't have cache"); return throwException(TAG, ExceptionType::UNKNOWN, "Refreshing Map that doesn't have cache"); } else { Log::trace(TAG, "Refreshing Map %s from cache", getSID().c_str()); return mLoadFromImage(); } }
static void createBiss(FILE *irkFile, char *line, IrkRecord *rec, int *irkCount, int numLine) { int pos; unsigned char sys = 0x26; unsigned int provider; unsigned char id = 0; unsigned char key[8]; unsigned char PMTCRC[8]; pos = 1; provider = getSID(line, &pos, numLine); getKey(key, line, &pos, numLine); getPMTCRC(PMTCRC, line, &pos, numLine); flushIrk(irkFile, rec, irkCount); putIrk(irkFile, rec, irkCount, sys, 0, provider, id, key); putIrk(irkFile, rec, irkCount, sys, 0, provider, id, PMTCRC); flushIrk(irkFile, rec, irkCount); }
bool P3ReplicationGroup::bindControlToReplica(OverlayPeerInfoPtr& replica) { ACE_GUARD_RETURN(ACE_SYNCH_RECURSIVE_MUTEX, mon, m_lock, false); ACE_Connector<FTControlClientHandler, ACE_SOCK_Connector> connector; Endpoint endpoint; replica->getFTSAPInfo()->getFirstEndpoint(endpoint); //printf("==============bindControlToReplica endpoint=%s\n", endpoint.toString().c_str()); ThreadPerConnection *tpc = new ThreadPerConnection(); //ACE_Strong_Bound_Ptr<ThreadPerConnection, ACE_Recursive_Thread_Mutex>* tpcPrt = new // ACE_Strong_Bound_Ptr<ThreadPerConnection, ACE_Recursive_Thread_Mutex > (tpc); ExecutionModelPtr* tpcPrt = new ExecutionModelPtr(tpc); FTControlClientHandler* ftControlClient = new FTControlClientHandler( this, replica->getUUID(), replica->getFID(), this->getGroupUUID(), false, false, tpcPrt, 0, 0, 0); printMembers(); SAPInfoPtr ftDataSAPInfo; //*(getGroupMembers())); tpc->bind(ftControlClient); tpc->open(); //tpc->bind(ftControlClient); connector.reactor(tpc->getResources()->getReactor()); if (connector.connect(ftControlClient, endpoint.getAddr()) == -1) { ACE_ERROR((LM_ERROR, ACE_TEXT("(%T)%@\n"), ACE_TEXT("(%T)ERROR: P3ReplicationGroup::bindControlToReplica - connect failed:"))); ftControlClient->close(); delete ftControlClient; return false; } else { if (m_debugP3ReplicationGroup) { ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: P3ReplicationGroup::bindControlToReplica - Connect to replica OK! UUID=%s\n"), replica->getUUID()->toString().c_str())); } } UUIDPtr sid; getSID(sid); ftControlClient->initSession( sid, m_groupUUID, //m_iid, this->getServiceParams(), this->getPrimary(), this->getReplicaList(), ftDataSAPInfo); if (m_debugP3ReplicationGroup) { ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: P3ReplicationGroup::bindControlToReplica() - update(dataft) = (%@)\n"), ftDataSAPInfo.get() )); } if (m_clientControlManager.add(ftControlClient) == -1) { ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: P3ReplicationGroup::bindControlToReplica - to add to group! UUID=%s\n"), replica->getUUID()->toString().c_str())); return false; } //this->updateFTDataSAP(replica->getUUID(), ftDataSAPInfo); //why??? replica->setFTDataSAP(ftDataSAPInfo); if (ftControlClient->asynchronous(true, false) == -1) { ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: P3ReplicationGroup::bindControlToReplica - to aync! UUID=%s\n"), replica->getUUID()->toString().c_str())); ftControlClient->close(); return false; } ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: P3ReplicationGroup::bindControlToReplica -OK UUID=%s\n"), replica->getUUID()->toString().c_str())); return true; }