summaryrefslogtreecommitdiff
path: root/util/ramstore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'util/ramstore.cpp')
-rw-r--r--util/ramstore.cpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/util/ramstore.cpp b/util/ramstore.cpp
deleted file mode 100644
index 0bdf2e2..0000000
--- a/util/ramstore.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
-* Copyright (C) 2008 10gen Inc.info
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Affero General Public License, version 3,
-* as published by the Free Software Foundation.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Affero General Public License for more details.
-*
-* You should have received a copy of the GNU Affero General Public License
-* along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "pch.h"
-#include "mmap.h"
-
-namespace mongo {
-
- //extern bool checkNsFilesOnLoad;
-
-static set<RamStoreFile*> files;
-
-void RamStoreFile::grow(int offset, int len) {
- cout << "GROW ofs:" << offset << " len:" << len;
- assert( len > 0 );
- Node& n = _m[offset];
- cout << " oldlen:" << n.len << endl;
- assert( n.len > 0 );
- if( len > n.len ) {
- n.p = (char *) realloc(n.p, len);
- memset(((char *)n.p) + n.len, 0, len - n.len);
- n.len = len;
- }
-}
-
-/* maxLen can be -1 for existing data */
-void* RamStoreFile::at(int offset, int maxLen) {
- if( offset != _last ) {
- if( _m.count(_last) ) {
- _m[_last].check();
- if( !(offset < _last || offset >= _last + _m[_last].len) ) {
- cout << offset << ' ' << _last << ' ' << _m[_last].len << endl;
- assert(false);
- }
- }
- }
- _last = offset;
-
- Node& n = _m[offset];
- if( n.len == 0 ) {
- // create
- if( strstr(name, ".ns") == 0 )
- cout << "CREATE " << name << " ofs:" << offset << " len:" << maxLen << endl;
- assert( maxLen >= 0 );
- n.p = (char *) calloc(maxLen+1, 1);
- n.len = maxLen;
- }
- assert( n.len >= maxLen );
- n.check();
- return n.p;
- }
-
-void RamStoreFile::Node::check() {
- assert( p[len] == 0 );
-}
-
-void RamStoreFile::check() {
- for( std::map<int,Node>::iterator i = _m.begin(); i != _m.end(); i++ ) {
- i->second.check();
- }
-}
-
-void RamStoreFile::validate() {
- for( set<RamStoreFile*>::iterator i = files.begin(); i != files.end(); i++ ) {
- (*i)->check();
- }
-}
-
-RamStoreFile::~RamStoreFile() {
- check();
- files.erase(this);
-}
-
-RamStoreFile::RamStoreFile() : _len(0) {
- // checkNsFilesOnLoad = false;
- files.insert(this);
-}
-
-}
-