diff options
Diffstat (limited to 'src/mongo/db/commands/dbhash.h')
-rw-r--r-- | src/mongo/db/commands/dbhash.h | 78 |
1 files changed, 41 insertions, 37 deletions
diff --git a/src/mongo/db/commands/dbhash.h b/src/mongo/db/commands/dbhash.h index aa9a396b080..8b566f98327 100644 --- a/src/mongo/db/commands/dbhash.h +++ b/src/mongo/db/commands/dbhash.h @@ -35,41 +35,45 @@ namespace mongo { - void logOpForDbHash( OperationContext* txn, const char* ns ); - - class DBHashCmd : public Command { - public: - DBHashCmd(); - - virtual bool slaveOk() const { return true; } - virtual bool isWriteCommandForConfigServer() const { return false; } - virtual void addRequiredPrivileges(const std::string& dbname, - const BSONObj& cmdObj, - std::vector<Privilege>* out); - - virtual bool run(OperationContext* txn, - const std::string& dbname, - BSONObj& cmdObj, - int, - std::string& errmsg, - BSONObjBuilder& result); - - void wipeCacheForCollection(OperationContext* txn, StringData ns); - - private: - - /** - * RecoveryUnit::Change subclass used to commit work for dbhash logOp listener - */ - class DBHashLogOpHandler; - - bool isCachable( StringData ns ) const; - - std::string hashCollection( OperationContext* opCtx, Database* db, const std::string& fullCollectionName, bool* fromCache ); - - std::map<std::string,std::string> _cachedHashed; - stdx::mutex _cachedHashedMutex; - - }; - +void logOpForDbHash(OperationContext* txn, const char* ns); + +class DBHashCmd : public Command { +public: + DBHashCmd(); + + virtual bool slaveOk() const { + return true; + } + virtual bool isWriteCommandForConfigServer() const { + return false; + } + virtual void addRequiredPrivileges(const std::string& dbname, + const BSONObj& cmdObj, + std::vector<Privilege>* out); + + virtual bool run(OperationContext* txn, + const std::string& dbname, + BSONObj& cmdObj, + int, + std::string& errmsg, + BSONObjBuilder& result); + + void wipeCacheForCollection(OperationContext* txn, StringData ns); + +private: + /** + * RecoveryUnit::Change subclass used to commit work for dbhash logOp listener + */ + class DBHashLogOpHandler; + + bool isCachable(StringData ns) const; + + std::string hashCollection(OperationContext* opCtx, + Database* db, + const std::string& fullCollectionName, + bool* fromCache); + + std::map<std::string, std::string> _cachedHashed; + stdx::mutex _cachedHashedMutex; +}; } |