SignedLogicalTime LogicalTimeValidator::signLogicalTime(OperationContext* opCtx, const LogicalTime& newTime) { auto keyManager = _getKeyManagerCopy(); auto keyStatusWith = keyManager->getKeyForSigning(nullptr, newTime); auto keyStatus = keyStatusWith.getStatus(); while (keyStatus == ErrorCodes::KeyNotFound && LogicalClock::get(opCtx)->isEnabled()) { keyManager->refreshNow(opCtx); keyStatusWith = keyManager->getKeyForSigning(nullptr, newTime); keyStatus = keyStatusWith.getStatus(); if (keyStatus == ErrorCodes::KeyNotFound) { sleepFor(kRefreshIntervalIfErrored); } } uassertStatusOK(keyStatus); return _getProof(keyStatusWith.getValue(), newTime); }
void RefrigerationController::refresh() { m_dirty = true; QTimer::singleShot(0,this,SLOT(refreshNow())); }
void VRFController::refresh() { m_dirty = true; QTimer::singleShot(0,this,SLOT(refreshNow())); }