diff options
Diffstat (limited to 'src/mongo/executor/network_interface_mock.h')
-rw-r--r-- | src/mongo/executor/network_interface_mock.h | 79 |
1 files changed, 36 insertions, 43 deletions
diff --git a/src/mongo/executor/network_interface_mock.h b/src/mongo/executor/network_interface_mock.h index 7023101fd59..621a44a02c5 100644 --- a/src/mongo/executor/network_interface_mock.h +++ b/src/mongo/executor/network_interface_mock.h @@ -52,7 +52,6 @@ class BSONObj; namespace executor { -using ResponseStatus = TaskExecutor::ResponseStatus; class NetworkConnectionHook; /** @@ -84,16 +83,11 @@ public: NetworkInterfaceMock(); virtual ~NetworkInterfaceMock(); - virtual void appendConnectionStats(ConnectionPoolStats* stats) const; - virtual std::string getDiagnosticString(); - Counters getCounters() const override { - return Counters(); - } /** * Logs the contents of the queues for diagnostics. */ - virtual void logQueues(); + void logQueues(); //////////////////////////////////////////////////////////////////////////////// // @@ -101,20 +95,26 @@ public: // //////////////////////////////////////////////////////////////////////////////// - virtual void startup(); - virtual void shutdown(); - virtual bool inShutdown() const; - virtual void waitForWork(); - virtual void waitForWorkUntil(Date_t when); - virtual void setConnectionHook(std::unique_ptr<NetworkConnectionHook> hook); - virtual void setEgressMetadataHook(std::unique_ptr<rpc::EgressMetadataHook> metadataHook); - virtual void signalWorkAvailable(); - virtual Date_t now(); - virtual std::string getHostName(); - virtual Status startCommand(const TaskExecutor::CallbackHandle& cbHandle, - RemoteCommandRequest& request, - RemoteCommandCompletionFn&& onFinish, - const transport::BatonHandle& baton = nullptr); + void appendConnectionStats(ConnectionPoolStats* stats) const override {} + + std::string getDiagnosticString() override; + + Counters getCounters() const override { + return Counters(); + } + + void startup() override; + void shutdown() override; + bool inShutdown() const override; + void waitForWork() override; + void waitForWorkUntil(Date_t when) override; + void signalWorkAvailable() override; + Date_t now() override; + std::string getHostName() override; + Status startCommand(const TaskExecutor::CallbackHandle& cbHandle, + RemoteCommandRequest& request, + RemoteCommandCompletionFn&& onFinish, + const transport::BatonHandle& baton = nullptr) override; /** * If the network operation is in the _unscheduled or _processing queues, moves the operation @@ -122,21 +122,20 @@ public: * the _scheduled queue, does nothing. The latter simulates the case where cancelCommand() is * called after the task has already completed, but its callback has not yet been run. */ - virtual void cancelCommand(const TaskExecutor::CallbackHandle& cbHandle, - const transport::BatonHandle& baton = nullptr); + void cancelCommand(const TaskExecutor::CallbackHandle& cbHandle, + const transport::BatonHandle& baton = nullptr) override; /** * Not implemented. */ - virtual Status setAlarm(Date_t when, - unique_function<void()> action, - const transport::BatonHandle& baton = nullptr); + Status setAlarm(Date_t when, + unique_function<void()> action, + const transport::BatonHandle& baton = nullptr) override; - virtual bool onNetworkThread(); + bool onNetworkThread() override; void dropConnections(const HostAndPort&) override {} - //////////////////////////////////////////////////////////////////////////////// // // Methods for simulating network operations and the passage of time. @@ -151,6 +150,10 @@ public: */ class InNetworkGuard; + void setConnectionHook(std::unique_ptr<NetworkConnectionHook> hook); + + void setEgressMetadataHook(std::unique_ptr<rpc::EgressMetadataHook> metadataHook); + /** * Causes the currently running (non-executor) thread to assume the mantle of the network * simulation thread. @@ -199,7 +202,7 @@ public: */ void scheduleResponse(NetworkOperationIterator noi, Date_t when, - const ResponseStatus& response); + const TaskExecutor::ResponseStatus& response); /** * Schedules a successful "response" to "noi" at virtual time "when". @@ -221,14 +224,13 @@ public: * "when" defaults to now(). */ RemoteCommandRequest scheduleErrorResponse(const Status& response); - RemoteCommandRequest scheduleErrorResponse(const ResponseStatus response); + RemoteCommandRequest scheduleErrorResponse(const TaskExecutor::ResponseStatus response); RemoteCommandRequest scheduleErrorResponse(NetworkOperationIterator noi, const Status& response); RemoteCommandRequest scheduleErrorResponse(NetworkOperationIterator noi, Date_t when, const Status& response); - /** * Swallows "noi", causing the network interface to not respond to it until * shutdown() is called. @@ -277,7 +279,7 @@ public: */ void _interruptWithResponse_inlock(const TaskExecutor::CallbackHandle& cbHandle, const std::vector<NetworkOperationList*> queuesToCheck, - const ResponseStatus& response); + const TaskExecutor::ResponseStatus& response); private: /** @@ -308,15 +310,6 @@ private: void _startup_inlock(); /** - * Returns information about the state of this mock for diagnostic purposes. - */ - std::string _getDiagnosticString_inlock() const; - - /** - * Logs the contents of the queues for diagnostics. - */ - void _logQueues_inlock() const; - /** * Returns the current virtualized time. */ Date_t _now_inlock() const { @@ -446,7 +439,7 @@ public: /** * Sets the response and thet virtual time at which it will be delivered. */ - void setResponse(Date_t responseDate, const ResponseStatus& response); + void setResponse(Date_t responseDate, const TaskExecutor::ResponseStatus& response); /** * Predicate that returns true if cbHandle equals the executor's handle for this network @@ -506,7 +499,7 @@ private: Date_t _responseDate; TaskExecutor::CallbackHandle _cbHandle; RemoteCommandRequest _request; - ResponseStatus _response; + TaskExecutor::ResponseStatus _response; RemoteCommandCompletionFn _onFinish; }; |