diff options
author | Matthew Russotto <matthew.russotto@10gen.com> | 2017-10-03 16:22:37 -0400 |
---|---|---|
committer | Matthew Russotto <matthew.russotto@10gen.com> | 2017-10-05 10:20:35 -0400 |
commit | 316a341735b2ffd12ee203581ac0f736a6aaef88 (patch) | |
tree | 956dc9e0c0e6b2ee530182c18544af20f3cb887f /src/mongo/db/pipeline/document_source_check_resume_token.h | |
parent | 47b62c3fdd712209dbe48fdf3928901304624320 (diff) | |
download | mongo-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.h | 17 |
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; |