diff options
Diffstat (limited to 'src/mongo/db/repl/replication_coordinator_mock.h')
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_mock.h | 215 |
1 files changed, 102 insertions, 113 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_mock.h b/src/mongo/db/repl/replication_coordinator_mock.h index 2f404b3d157..2856878bd6f 100644 --- a/src/mongo/db/repl/replication_coordinator_mock.h +++ b/src/mongo/db/repl/replication_coordinator_mock.h @@ -35,187 +35,176 @@ namespace mongo { namespace repl { - /** - * A mock ReplicationCoordinator. Currently it is extremely simple and exists solely to link - * into dbtests. - */ - class ReplicationCoordinatorMock : public ReplicationCoordinator { - MONGO_DISALLOW_COPYING(ReplicationCoordinatorMock); - - public: - - ReplicationCoordinatorMock(const ReplSettings& settings); - virtual ~ReplicationCoordinatorMock(); +/** + * A mock ReplicationCoordinator. Currently it is extremely simple and exists solely to link + * into dbtests. + */ +class ReplicationCoordinatorMock : public ReplicationCoordinator { + MONGO_DISALLOW_COPYING(ReplicationCoordinatorMock); - virtual void startReplication(OperationContext* txn); +public: + ReplicationCoordinatorMock(const ReplSettings& settings); + virtual ~ReplicationCoordinatorMock(); - virtual void shutdown(); + virtual void startReplication(OperationContext* txn); - virtual const ReplSettings& getSettings() const; + virtual void shutdown(); - virtual bool isReplEnabled() const; + virtual const ReplSettings& getSettings() const; - virtual Mode getReplicationMode() const; + virtual bool isReplEnabled() const; - virtual MemberState getMemberState() const; + virtual Mode getReplicationMode() const; - virtual bool isInPrimaryOrSecondaryState() const; + virtual MemberState getMemberState() const; - virtual Seconds getSlaveDelaySecs() const; + virtual bool isInPrimaryOrSecondaryState() const; - virtual void clearSyncSourceBlacklist(); + virtual Seconds getSlaveDelaySecs() const; - virtual ReplicationCoordinator::StatusAndDuration awaitReplication( - OperationContext* txn, - const OpTime& opTime, - const WriteConcernOptions& writeConcern); + virtual void clearSyncSourceBlacklist(); - virtual ReplicationCoordinator::StatusAndDuration awaitReplicationOfLastOpForClient( - OperationContext* txn, - const WriteConcernOptions& writeConcern); + virtual ReplicationCoordinator::StatusAndDuration awaitReplication( + OperationContext* txn, const OpTime& opTime, const WriteConcernOptions& writeConcern); - virtual Status stepDown(OperationContext* txn, - bool force, - const Milliseconds& waitTime, - const Milliseconds& stepdownTime); + virtual ReplicationCoordinator::StatusAndDuration awaitReplicationOfLastOpForClient( + OperationContext* txn, const WriteConcernOptions& writeConcern); - virtual bool isMasterForReportingPurposes(); + virtual Status stepDown(OperationContext* txn, + bool force, + const Milliseconds& waitTime, + const Milliseconds& stepdownTime); - virtual bool canAcceptWritesForDatabase(StringData dbName); + virtual bool isMasterForReportingPurposes(); - bool canAcceptWritesFor(const NamespaceString& ns) override; + virtual bool canAcceptWritesForDatabase(StringData dbName); - virtual Status checkIfWriteConcernCanBeSatisfied( - const WriteConcernOptions& writeConcern) const; + bool canAcceptWritesFor(const NamespaceString& ns) override; - virtual Status checkCanServeReadsFor(OperationContext* txn, - const NamespaceString& ns, - bool slaveOk); + virtual Status checkIfWriteConcernCanBeSatisfied(const WriteConcernOptions& writeConcern) const; - virtual bool shouldIgnoreUniqueIndex(const IndexDescriptor* idx); + virtual Status checkCanServeReadsFor(OperationContext* txn, + const NamespaceString& ns, + bool slaveOk); - virtual Status setLastOptimeForSlave(const OID& rid, const Timestamp& ts); + virtual bool shouldIgnoreUniqueIndex(const IndexDescriptor* idx); - virtual void setMyLastOptime(const OpTime& opTime); + virtual Status setLastOptimeForSlave(const OID& rid, const Timestamp& ts); - virtual void resetMyLastOptime(); + virtual void setMyLastOptime(const OpTime& opTime); - virtual void setMyHeartbeatMessage(const std::string& msg); + virtual void resetMyLastOptime(); - virtual OpTime getMyLastOptime() const; + virtual void setMyHeartbeatMessage(const std::string& msg); - virtual ReadAfterOpTimeResponse waitUntilOpTime( - OperationContext* txn, - const ReadAfterOpTimeArgs& settings) override; + virtual OpTime getMyLastOptime() const; - virtual OID getElectionId(); + virtual ReadAfterOpTimeResponse waitUntilOpTime(OperationContext* txn, + const ReadAfterOpTimeArgs& settings) override; - virtual OID getMyRID() const; + virtual OID getElectionId(); - virtual int getMyId() const; + virtual OID getMyRID() const; - virtual bool setFollowerMode(const MemberState& newState); + virtual int getMyId() const; - virtual bool isWaitingForApplierToDrain(); + virtual bool setFollowerMode(const MemberState& newState); - virtual void signalDrainComplete(OperationContext*); + virtual bool isWaitingForApplierToDrain(); - virtual void signalUpstreamUpdater(); + virtual void signalDrainComplete(OperationContext*); - virtual bool prepareReplSetUpdatePositionCommand(BSONObjBuilder* cmdBuilder); + virtual void signalUpstreamUpdater(); - virtual Status processReplSetGetStatus(BSONObjBuilder* result); + virtual bool prepareReplSetUpdatePositionCommand(BSONObjBuilder* cmdBuilder); - virtual void fillIsMasterForReplSet(IsMasterResponse* result); + virtual Status processReplSetGetStatus(BSONObjBuilder* result); - virtual void appendSlaveInfoData(BSONObjBuilder* result); + virtual void fillIsMasterForReplSet(IsMasterResponse* result); - virtual ReplicaSetConfig getConfig() const; + virtual void appendSlaveInfoData(BSONObjBuilder* result); - virtual void processReplSetGetConfig(BSONObjBuilder* result); + virtual ReplicaSetConfig getConfig() const; - virtual Status setMaintenanceMode(bool activate); + virtual void processReplSetGetConfig(BSONObjBuilder* result); - virtual bool getMaintenanceMode(); + virtual Status setMaintenanceMode(bool activate); - virtual Status processReplSetSyncFrom(const HostAndPort& target, - BSONObjBuilder* resultObj); + virtual bool getMaintenanceMode(); - virtual Status processReplSetFreeze(int secs, BSONObjBuilder* resultObj); + virtual Status processReplSetSyncFrom(const HostAndPort& target, BSONObjBuilder* resultObj); - virtual Status processHeartbeat(const ReplSetHeartbeatArgs& args, - ReplSetHeartbeatResponse* response); + virtual Status processReplSetFreeze(int secs, BSONObjBuilder* resultObj); - virtual Status processReplSetReconfig(OperationContext* txn, - const ReplSetReconfigArgs& args, - BSONObjBuilder* resultObj); + virtual Status processHeartbeat(const ReplSetHeartbeatArgs& args, + ReplSetHeartbeatResponse* response); - virtual Status processReplSetInitiate(OperationContext* txn, - const BSONObj& configObj, - BSONObjBuilder* resultObj); + virtual Status processReplSetReconfig(OperationContext* txn, + const ReplSetReconfigArgs& args, + BSONObjBuilder* resultObj); - virtual Status processReplSetGetRBID(BSONObjBuilder* resultObj); + virtual Status processReplSetInitiate(OperationContext* txn, + const BSONObj& configObj, + BSONObjBuilder* resultObj); - virtual void incrementRollbackID(); + virtual Status processReplSetGetRBID(BSONObjBuilder* resultObj); - virtual Status processReplSetFresh(const ReplSetFreshArgs& args, - BSONObjBuilder* resultObj); + virtual void incrementRollbackID(); - virtual Status processReplSetElect(const ReplSetElectArgs& args, - BSONObjBuilder* resultObj); + virtual Status processReplSetFresh(const ReplSetFreshArgs& args, BSONObjBuilder* resultObj); - virtual Status processReplSetUpdatePosition(const UpdatePositionArgs& updates, - long long* configVersion); + virtual Status processReplSetElect(const ReplSetElectArgs& args, BSONObjBuilder* resultObj); - virtual Status processHandshake(OperationContext* txn, const HandshakeArgs& handshake); + virtual Status processReplSetUpdatePosition(const UpdatePositionArgs& updates, + long long* configVersion); - virtual bool buildsIndexes(); + virtual Status processHandshake(OperationContext* txn, const HandshakeArgs& handshake); - virtual std::vector<HostAndPort> getHostsWrittenTo(const OpTime& op); + virtual bool buildsIndexes(); - virtual std::vector<HostAndPort> getOtherNodesInReplSet() const; + virtual std::vector<HostAndPort> getHostsWrittenTo(const OpTime& op); - virtual WriteConcernOptions getGetLastErrorDefault(); + virtual std::vector<HostAndPort> getOtherNodesInReplSet() const; - virtual Status checkReplEnabledForCommand(BSONObjBuilder* result); + virtual WriteConcernOptions getGetLastErrorDefault(); - virtual HostAndPort chooseNewSyncSource(); + virtual Status checkReplEnabledForCommand(BSONObjBuilder* result); - virtual void blacklistSyncSource(const HostAndPort& host, Date_t until); + virtual HostAndPort chooseNewSyncSource(); - virtual void resetLastOpTimeFromOplog(OperationContext* txn); + virtual void blacklistSyncSource(const HostAndPort& host, Date_t until); - virtual bool shouldChangeSyncSource(const HostAndPort& currentSource); + virtual void resetLastOpTimeFromOplog(OperationContext* txn); - virtual OpTime getLastCommittedOpTime() const; + virtual bool shouldChangeSyncSource(const HostAndPort& currentSource); - virtual Status processReplSetRequestVotes(OperationContext* txn, - const ReplSetRequestVotesArgs& args, - ReplSetRequestVotesResponse* response); + virtual OpTime getLastCommittedOpTime() const; - virtual Status processReplSetDeclareElectionWinner( - const ReplSetDeclareElectionWinnerArgs& args, - long long* responseTerm); + virtual Status processReplSetRequestVotes(OperationContext* txn, + const ReplSetRequestVotesArgs& args, + ReplSetRequestVotesResponse* response); - virtual void prepareCursorResponseInfo(BSONObjBuilder* objBuilder); + virtual Status processReplSetDeclareElectionWinner(const ReplSetDeclareElectionWinnerArgs& args, + long long* responseTerm); - virtual Status processHeartbeatV1(const ReplSetHeartbeatArgsV1& args, - ReplSetHeartbeatResponse* response); + virtual void prepareCursorResponseInfo(BSONObjBuilder* objBuilder); - virtual bool isV1ElectionProtocol(); + virtual Status processHeartbeatV1(const ReplSetHeartbeatArgsV1& args, + ReplSetHeartbeatResponse* response); - virtual void summarizeAsHtml(ReplSetHtmlSummary* output); + virtual bool isV1ElectionProtocol(); - virtual long long getTerm(); + virtual void summarizeAsHtml(ReplSetHtmlSummary* output); - virtual bool updateTerm(long long term); + virtual long long getTerm(); - private: + virtual bool updateTerm(long long term); - const ReplSettings _settings; - MemberState _memberState; - OpTime _myLastOpTime; - }; +private: + const ReplSettings _settings; + MemberState _memberState; + OpTime _myLastOpTime; +}; -} // namespace repl -} // namespace mongo +} // namespace repl +} // namespace mongo |