本文整理汇总了C++中OperationContext::getLogicalSessionId方法的典型用法代码示例。如果您正苦于以下问题:C++ OperationContext::getLogicalSessionId方法的具体用法?C++ OperationContext::getLogicalSessionId怎么用?C++ OperationContext::getLogicalSessionId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OperationContext
的用法示例。
在下文中一共展示了OperationContext::getLogicalSessionId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: killSessionsLocalKillOps
SessionKiller::Result killSessionsLocalKillOps(OperationContext* opCtx,
const SessionKiller::Matcher& matcher) {
for (ServiceContext::LockedClientsCursor cursor(opCtx->getClient()->getServiceContext());
Client* client = cursor.next();) {
invariant(client);
stdx::unique_lock<Client> lk(*client);
OperationContext* opCtxToKill = client->getOperationContext();
if (opCtxToKill) {
const auto& lsid = opCtxToKill->getLogicalSessionId();
if (lsid) {
if (const KillAllSessionsByPattern* pattern = matcher.match(*lsid)) {
ScopedKillAllSessionsByPatternImpersonator impersonator(opCtx, *pattern);
log() << "killing op: " << opCtxToKill->getOpID()
<< " as part of killing session: " << lsid->toBSON();
opCtx->getServiceContext()->killOperation(opCtxToKill);
}
}
}
}
return {std::vector<HostAndPort>{}};
}