diff options
Diffstat (limited to 'src/mongo/db/service_liason_mock.cpp')
-rw-r--r-- | src/mongo/db/service_liason_mock.cpp | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/mongo/db/service_liason_mock.cpp b/src/mongo/db/service_liason_mock.cpp index 821de302e02..df0d8ab5276 100644 --- a/src/mongo/db/service_liason_mock.cpp +++ b/src/mongo/db/service_liason_mock.cpp @@ -42,11 +42,16 @@ MockServiceLiasonImpl::MockServiceLiasonImpl() { _runner->startup().transitional_ignore(); } -LogicalSessionIdSet MockServiceLiasonImpl::getActiveSessions() const { +LogicalSessionIdSet MockServiceLiasonImpl::getActiveOpSessions() const { stdx::unique_lock<stdx::mutex> lk(_mutex); return _activeSessions; } +LogicalSessionIdSet MockServiceLiasonImpl::getOpenCursorSessions() const { + stdx::unique_lock<stdx::mutex> lk(_mutex); + return _cursorSessions; +} + void MockServiceLiasonImpl::join() { _runner->shutdown(); } @@ -60,9 +65,25 @@ void MockServiceLiasonImpl::scheduleJob(PeriodicRunner::PeriodicJob job) { return; } + +void MockServiceLiasonImpl::addCursorSession(LogicalSessionId lsid) { + stdx::unique_lock<stdx::mutex> lk(_mutex); + _cursorSessions.insert(std::move(lsid)); +} + +void MockServiceLiasonImpl::removeCursorSession(LogicalSessionId lsid) { + stdx::unique_lock<stdx::mutex> lk(_mutex); + _cursorSessions.erase(lsid); +} + +void MockServiceLiasonImpl::clearCursorSession() { + stdx::unique_lock<stdx::mutex> lk(_mutex); + _cursorSessions.clear(); +} + void MockServiceLiasonImpl::add(LogicalSessionId lsid) { stdx::unique_lock<stdx::mutex> lk(_mutex); - _activeSessions.insert(std::move(lsid)); + _cursorSessions.insert(std::move(lsid)); } void MockServiceLiasonImpl::remove(LogicalSessionId lsid) { @@ -83,4 +104,15 @@ int MockServiceLiasonImpl::jobs() { return _timerFactory->jobs(); } +const KillAllSessionsByPattern* MockServiceLiasonImpl::matchKilled(const LogicalSessionId& lsid) { + return _matcher->match(lsid); +} + +Status MockServiceLiasonImpl::killCursorsWithMatchingSessions( + OperationContext* opCtx, const SessionKiller::Matcher& matcher) { + + _matcher = matcher; + return Status::OK(); +} + } // namespace mongo |