diff options
Diffstat (limited to 'src/mongo/db/storage/mmap_v1/mmap_v1_engine.h')
-rw-r--r-- | src/mongo/db/storage/mmap_v1/mmap_v1_engine.h | 98 |
1 files changed, 50 insertions, 48 deletions
diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h index 4141794c426..25c38500831 100644 --- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h +++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h @@ -38,68 +38,70 @@ namespace mongo { - class MMAPV1DatabaseCatalogEntry; +class MMAPV1DatabaseCatalogEntry; - class MMAPV1Engine : public StorageEngine { - public: - MMAPV1Engine(const StorageEngineLockFile& lockFile); - virtual ~MMAPV1Engine(); +class MMAPV1Engine : public StorageEngine { +public: + MMAPV1Engine(const StorageEngineLockFile& lockFile); + virtual ~MMAPV1Engine(); - void finishInit(); + void finishInit(); - RecoveryUnit* newRecoveryUnit(); - void listDatabases( std::vector<std::string>* out ) const; - int flushAllFiles( bool sync ); + RecoveryUnit* newRecoveryUnit(); + void listDatabases(std::vector<std::string>* out) const; + int flushAllFiles(bool sync); - DatabaseCatalogEntry* getDatabaseCatalogEntry( OperationContext* opCtx, - StringData db ); + DatabaseCatalogEntry* getDatabaseCatalogEntry(OperationContext* opCtx, StringData db); - virtual bool supportsDocLocking() const { return false; } - virtual bool isMmapV1() const { return true; } + virtual bool supportsDocLocking() const { + return false; + } + virtual bool isMmapV1() const { + return true; + } - virtual bool isDurable() const; + virtual bool isDurable() const; - virtual Status closeDatabase(OperationContext* txn, StringData db); + virtual Status closeDatabase(OperationContext* txn, StringData db); - virtual Status dropDatabase(OperationContext* txn, StringData db); + virtual Status dropDatabase(OperationContext* txn, StringData db); - virtual void cleanShutdown(); + virtual void cleanShutdown(); - // Callers should use repairDatabase instead. - virtual Status repairRecordStore(OperationContext* txn, const std::string& ns) { - return Status(ErrorCodes::InternalError, "MMAPv1 doesn't support repairRecordStore"); - } + // Callers should use repairDatabase instead. + virtual Status repairRecordStore(OperationContext* txn, const std::string& ns) { + return Status(ErrorCodes::InternalError, "MMAPv1 doesn't support repairRecordStore"); + } - // MMAPv1 specific (non-virtual) - Status repairDatabase( OperationContext* txn, - const std::string& dbName, - bool preserveClonedFilesOnFailure, - bool backupOriginalFiles ); + // MMAPv1 specific (non-virtual) + Status repairDatabase(OperationContext* txn, + const std::string& dbName, + bool preserveClonedFilesOnFailure, + bool backupOriginalFiles); - /** - * Gets a reference to the abstraction used by MMAP v1 to track recently used memory - * addresses. - * - * MMAPv1 specific (non-virtual). This is non-const because callers are allowed to use - * the returned reference to modify the RecordAccessTracker. - * - * The RecordAccessTracker is thread-safe (it uses its own mutex internally). - */ - RecordAccessTracker& getRecordAccessTracker(); + /** + * Gets a reference to the abstraction used by MMAP v1 to track recently used memory + * addresses. + * + * MMAPv1 specific (non-virtual). This is non-const because callers are allowed to use + * the returned reference to modify the RecordAccessTracker. + * + * The RecordAccessTracker is thread-safe (it uses its own mutex internally). + */ + RecordAccessTracker& getRecordAccessTracker(); - private: - static void _listDatabases( const std::string& directory, - std::vector<std::string>* out ); +private: + static void _listDatabases(const std::string& directory, std::vector<std::string>* out); - stdx::mutex _entryMapMutex; - typedef std::map<std::string,MMAPV1DatabaseCatalogEntry*> EntryMap; - EntryMap _entryMap; + stdx::mutex _entryMapMutex; + typedef std::map<std::string, MMAPV1DatabaseCatalogEntry*> EntryMap; + EntryMap _entryMap; - // A record access tracker is essentially a large table which tracks recently used - // addresses. It is used when higher layers (e.g. the query system) need to ask - // the storage engine whether data is likely in physical memory. - RecordAccessTracker _recordAccessTracker; - }; + // A record access tracker is essentially a large table which tracks recently used + // addresses. It is used when higher layers (e.g. the query system) need to ask + // the storage engine whether data is likely in physical memory. + RecordAccessTracker _recordAccessTracker; +}; - void _deleteDataFiles(const std::string& database); +void _deleteDataFiles(const std::string& database); } |