summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_check_resume_token.h
diff options
context:
space:
mode:
authorMatthew Russotto <matthew.russotto@10gen.com>2017-10-03 16:22:37 -0400
committerMatthew Russotto <matthew.russotto@10gen.com>2017-10-05 10:20:35 -0400
commit316a341735b2ffd12ee203581ac0f736a6aaef88 (patch)
tree956dc9e0c0e6b2ee530182c18544af20f3cb887f /src/mongo/db/pipeline/document_source_check_resume_token.h
parent47b62c3fdd712209dbe48fdf3928901304624320 (diff)
downloadmongo-316a341735b2ffd12ee203581ac0f736a6aaef88.tar.gz
SERVER-29716 Keystring-encode ResumeTokens to allow bytewise comparisons
Diffstat (limited to 'src/mongo/db/pipeline/document_source_check_resume_token.h')
-rw-r--r--src/mongo/db/pipeline/document_source_check_resume_token.h17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/mongo/db/pipeline/document_source_check_resume_token.h b/src/mongo/db/pipeline/document_source_check_resume_token.h
index 2ff83bb2b35..5fedb8bb444 100644
--- a/src/mongo/db/pipeline/document_source_check_resume_token.h
+++ b/src/mongo/db/pipeline/document_source_check_resume_token.h
@@ -33,9 +33,6 @@
#include "mongo/db/pipeline/resume_token.h"
namespace mongo {
-// Currently the two resume sources take the same specification.
-typedef DocumentSourceEnsureResumeTokenPresentSpec DocumentSourceShardCheckResumabilitySpec;
-
/**
* This checks for resumability on a single shard in the sharded case. The rules are
*
@@ -71,15 +68,14 @@ public:
Value serialize(boost::optional<ExplainOptions::Verbosity> explain = boost::none) const final;
static boost::intrusive_ptr<DocumentSourceShardCheckResumability> create(
- const boost::intrusive_ptr<ExpressionContext>& expCtx,
- DocumentSourceShardCheckResumabilitySpec spec);
+ const boost::intrusive_ptr<ExpressionContext>& expCtx, ResumeToken token);
private:
/**
* Use the create static method to create a DocumentSourceShardCheckResumability.
*/
DocumentSourceShardCheckResumability(const boost::intrusive_ptr<ExpressionContext>& expCtx,
- DocumentSourceShardCheckResumabilitySpec spec);
+ ResumeToken token);
ResumeToken _token;
bool _verifiedResumability;
@@ -111,9 +107,7 @@ public:
* be at any shard.
*/
boost::intrusive_ptr<DocumentSource> getShardSource() final {
- DocumentSourceShardCheckResumabilitySpec shardSpec;
- shardSpec.setResumeToken(_token);
- return DocumentSourceShardCheckResumability::create(pExpCtx, shardSpec);
+ return DocumentSourceShardCheckResumability::create(pExpCtx, _token);
};
boost::intrusive_ptr<DocumentSource> getMergeSource() final {
@@ -123,8 +117,7 @@ public:
Value serialize(boost::optional<ExplainOptions::Verbosity> explain = boost::none) const final;
static boost::intrusive_ptr<DocumentSourceEnsureResumeTokenPresent> create(
- const boost::intrusive_ptr<ExpressionContext>& expCtx,
- DocumentSourceEnsureResumeTokenPresentSpec spec);
+ const boost::intrusive_ptr<ExpressionContext>& expCtx, ResumeToken token);
const ResumeToken& getTokenForTest() {
return _token;
@@ -135,7 +128,7 @@ private:
* Use the create static method to create a DocumentSourceEnsureResumeTokenPresent.
*/
DocumentSourceEnsureResumeTokenPresent(const boost::intrusive_ptr<ExpressionContext>& expCtx,
- DocumentSourceEnsureResumeTokenPresentSpec spec);
+ ResumeToken token);
ResumeToken _token;
bool _seenDoc;