36 #include "mongo/base/disallow_copying.h" 43 class NamespaceDetails;
44 class NamespaceHashTable;
45 class OperationContext;
54 NamespaceIndex(OperationContext*
opCtx,
const std::string& dir,
const std::string& database);
60 void close(OperationContext* opCtx) {
68 void init(OperationContext* opCtx);
70 void add_ns(OperationContext* opCtx, StringData
ns,
const DiskLoc& loc,
bool capped);
77 void kill_ns(OperationContext* opCtx, StringData ns);
80 return _ht.get() != 0;
85 boost::filesystem::path
path()
const;
98 std::unique_ptr<NamespaceHashTable>
_ht;
bool allocated() const
Definition: namespace_index.h:79
void kill_ns(OperationContext *opCtx, StringData ns)
Definition: namespace_index.cpp:97
Collection *const const NamespaceString & ns
Definition: collection_info_cache_impl.cpp:53
void getCollectionNamespaces(std::list< std::string > *tofill) const
Definition: namespace_index.cpp:131
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
void maybeMkdir() const
Definition: namespace_index.cpp:141
Definition: namespace_index.h:50
represents a disk location/offset on disk in a database.
Definition: diskloc.h:53
void init(OperationContext *opCtx)
Definition: namespace_index.cpp:151
Definition: namespace_details.h:47
~NamespaceIndex()
Definition: namespace_index.cpp:60
std::unique_ptr< NamespaceHashTable > _ht
Definition: namespace_index.h:98
DurableMappedFile adds some layers atop memory mapped files - specifically our handling of private vi...
Definition: durable_mapped_file.h:47
This is used for storing a namespace on disk in a fixed witdh form and should only be used for that...
Definition: namespace.h:49
unsigned long long length() const
Definition: durable_mapped_file.h:66
unsigned long long fileLength() const
Definition: namespace_index.h:87
const std::string _dir
Definition: namespace_index.h:94
void add_ns(OperationContext *opCtx, StringData ns, const DiskLoc &loc, bool capped)
Definition: namespace_index.cpp:71
NamespaceDetails * details(StringData ns) const
Definition: namespace_index.cpp:62
bool pathExists() const
Definition: namespace_index.cpp:119
void close(OperationContext *opCtx)
Must be called before destruction.
Definition: namespace_index.h:60
Collection *const OperationContext *const opCtx
Definition: collection_impl.cpp:80
boost::filesystem::path path() const
Definition: namespace_index.cpp:123
DurableMappedFile _f
Definition: namespace_index.h:97
NamespaceIndex(OperationContext *opCtx, const std::string &dir, const std::string &database)
Definition: namespace_index.cpp:55
virtual void close(OperationContext *opCtx)
Callers must be holding a LockMongoFilesExclusive.
Definition: durable_mapped_file.cpp:288
const std::string _database
Definition: namespace_index.h:95
MONGO_DISALLOW_COPYING(NamespaceIndex)