summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/conn_pool_sync.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-02-08 16:53:03 -0500
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2018-02-12 14:06:14 -0500
commite6fef1f93c6daf736b69f40cc4c0c92b4df75b4b (patch)
tree47913fbeaba3b9a2c58530b264ac4132e5d27460 /src/mongo/db/commands/conn_pool_sync.cpp
parentfe1587bfc8e3507eb044721a0fa98c456659b629 (diff)
downloadmongo-e6fef1f93c6daf736b69f40cc4c0c92b4df75b4b.tar.gz
SERVER-29908 Consolidate some sharding libraries to help break dependency cycles
Diffstat (limited to 'src/mongo/db/commands/conn_pool_sync.cpp')
-rw-r--r--src/mongo/db/commands/conn_pool_sync.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/mongo/db/commands/conn_pool_sync.cpp b/src/mongo/db/commands/conn_pool_sync.cpp
index cd3526bb885..12e279d15fa 100644
--- a/src/mongo/db/commands/conn_pool_sync.cpp
+++ b/src/mongo/db/commands/conn_pool_sync.cpp
@@ -28,44 +28,47 @@
#include "mongo/platform/basic.h"
-#include <sstream>
-
-#include "mongo/client/connpool.h"
#include "mongo/client/global_conn_pool.h"
#include "mongo/db/commands.h"
#include "mongo/s/client/shard_connection.h"
namespace mongo {
+namespace {
class PoolFlushCmd : public BasicCommand {
public:
PoolFlushCmd() : BasicCommand("connPoolSync", "connpoolsync") {}
+
std::string help() const override {
return "internal";
}
- virtual bool supportsWriteConcern(const BSONObj& cmd) const override {
+
+ bool supportsWriteConcern(const BSONObj& cmd) const override {
return false;
}
- virtual void addRequiredPrivileges(const std::string& dbname,
- const BSONObj& cmdObj,
- std::vector<Privilege>* out) const {
+
+ AllowedOnSecondary secondaryAllowed() const override {
+ return AllowedOnSecondary::kAlways;
+ }
+
+ void addRequiredPrivileges(const std::string& dbname,
+ const BSONObj& cmdObj,
+ std::vector<Privilege>* out) const override {
ActionSet actions;
actions.addAction(ActionType::connPoolSync);
out->push_back(Privilege(ResourcePattern::forClusterResource(), actions));
}
- virtual bool run(OperationContext* opCtx,
- const std::string&,
- const mongo::BSONObj&,
- mongo::BSONObjBuilder& result) {
+ bool run(OperationContext* opCtx,
+ const std::string&,
+ const mongo::BSONObj&,
+ mongo::BSONObjBuilder& result) override {
shardConnectionPool.flush();
globalConnPool.flush();
return true;
}
- AllowedOnSecondary secondaryAllowed() const override {
- return AllowedOnSecondary::kAlways;
- }
} poolFlushCmd;
+} // namespace
} // namespace mongo