summaryrefslogtreecommitdiff
path: root/src/mongo/db/logical_session_cache.h
diff options
context:
space:
mode:
authorGabriel Russell <gabriel.russell@mongodb.com>2017-09-05 12:14:27 -0400
committerGabriel Russell <gabriel.russell@mongodb.com>2017-09-21 15:29:58 -0400
commit8beb002326a5fdd82c694497b7ebcb52a593a3d3 (patch)
tree5fefa9a1b037dedab30a81abc6bfa3193b564df2 /src/mongo/db/logical_session_cache.h
parentdaefad8112937c847282a661392179b9afab0b87 (diff)
downloadmongo-8beb002326a5fdd82c694497b7ebcb52a593a3d3.tar.gz
SERVER-28336 endSessions command
Diffstat (limited to 'src/mongo/db/logical_session_cache.h')
-rw-r--r--src/mongo/db/logical_session_cache.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/db/logical_session_cache.h b/src/mongo/db/logical_session_cache.h
index 3a1ce97ef39..f9ff378fc72 100644
--- a/src/mongo/db/logical_session_cache.h
+++ b/src/mongo/db/logical_session_cache.h
@@ -31,6 +31,7 @@
#include <boost/optional.hpp>
#include "mongo/base/status.h"
+#include "mongo/db/commands/end_sessions_gen.h"
#include "mongo/db/logical_session_id.h"
#include "mongo/db/refresh_sessions_gen.h"
@@ -67,7 +68,7 @@ public:
* should only be used when starting new sessions and should not be used to
* insert records for existing sessions.
*/
- virtual Status startSession(OperationContext* opCtx, LogicalSessionRecord record) = 0;
+ virtual void startSession(OperationContext* opCtx, LogicalSessionRecord record) = 0;
/**
* Refresh the given sessions. Updates the timestamps of these records in
@@ -85,6 +86,11 @@ public:
virtual void vivify(OperationContext* opCtx, const LogicalSessionId& lsid) = 0;
/**
+ * enqueues LogicalSessionIds for removal during the next _refresh()
+ */
+ virtual void endSessions(const LogicalSessionIdSet& lsids) = 0;
+
+ /**
* Removes all local records in this cache. Does not remove the corresponding
* authoritative session records from the sessions collection.
*/