当前位置: 首页>>代码示例>>C++>>正文


C++ Timestamp::getSecs方法代码示例

本文整理汇总了C++中Timestamp::getSecs方法的典型用法代码示例。如果您正苦于以下问题:C++ Timestamp::getSecs方法的具体用法?C++ Timestamp::getSecs怎么用?C++ Timestamp::getSecs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Timestamp的用法示例。


在下文中一共展示了Timestamp::getSecs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: handleSlaveDelay

void SyncTail::handleSlaveDelay(const BSONObj& lastOp) {
    ReplicationCoordinator* replCoord = getGlobalReplicationCoordinator();
    int slaveDelaySecs = durationCount<Seconds>(replCoord->getSlaveDelaySecs());

    // ignore slaveDelay if the box is still initializing. once
    // it becomes secondary we can worry about it.
    if (slaveDelaySecs > 0 && replCoord->getMemberState().secondary()) {
        const Timestamp ts = lastOp["ts"].timestamp();
        long long a = ts.getSecs();
        long long b = time(0);
        long long lag = b - a;
        long long sleeptime = slaveDelaySecs - lag;
        if (sleeptime > 0) {
            uassert(12000,
                    "rs slaveDelay differential too big check clocks and systems",
                    sleeptime < 0x40000000);
            if (sleeptime < 60) {
                sleepsecs((int)sleeptime);
            } else {
                warning() << "slavedelay causing a long sleep of " << sleeptime << " seconds";
                // sleep(hours) would prevent reconfigs from taking effect & such!
                long long waitUntil = b + sleeptime;
                while (time(0) < waitUntil) {
                    sleepsecs(6);

                    // Handle reconfigs that changed the slave delay
                    if (durationCount<Seconds>(replCoord->getSlaveDelaySecs()) != slaveDelaySecs)
                        break;
                }
            }
        }
    }  // endif slaveDelay
}
开发者ID:Jaryli,项目名称:mongo,代码行数:33,代码来源:sync_tail.cpp

示例2: keyForOptime

StatusWith<RecordId> keyForOptime(const Timestamp& opTime) {
    // Make sure secs and inc wouldn't be negative if treated as signed. This ensures that they
    // don't sort differently when put in a RecordId. It also avoids issues with Null/Invalid
    // RecordIds
    if (opTime.getSecs() > uint32_t(std::numeric_limits<int32_t>::max()))
        return StatusWith<RecordId>(ErrorCodes::BadValue, "ts secs too high");

    if (opTime.getInc() > uint32_t(std::numeric_limits<int32_t>::max()))
        return StatusWith<RecordId>(ErrorCodes::BadValue, "ts inc too high");

    const RecordId out = RecordId(opTime.getSecs(), opTime.getInc());
    if (out <= RecordId::min())
        return StatusWith<RecordId>(ErrorCodes::BadValue, "ts too low");
    if (out >= RecordId::max())
        return StatusWith<RecordId>(ErrorCodes::BadValue, "ts too high");

    return StatusWith<RecordId>(out);
}
开发者ID:stevelyall,项目名称:mongol-db,代码行数:18,代码来源:oplog_hack.cpp


注:本文中的Timestamp::getSecs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。