summaryrefslogtreecommitdiff
path: root/src/mongo/db/service_liason_mock.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/service_liason_mock.cpp')
-rw-r--r--src/mongo/db/service_liason_mock.cpp36
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