public void Put(string key, FencePointer fencePointer) { if (_memTable.Count() >= 100000) { _memTable.Persist(++_lastIndexFileNumber); _memTable = new MemTable(_kDB); _dlinkedList.AddFirst(_memTable); } _memTable.Put(key, fencePointer); }
public FencePointer Get(string key) { FencePointer fencePointer = default(FencePointer); if (_store.TryGetValue(key, out fencePointer)) { return(fencePointer); } return(fencePointer); }
public byte[] Get(FencePointer fencePointer) { var metaSize = 64 + fencePointer._keyLen; byte[] value = new byte[fencePointer._valueLen + 1]; byte[] data = new byte[metaSize + fencePointer._valueLen + 1]; _dataFileReader.Seek(fencePointer._postion, SeekOrigin.Begin); _dataFileReader.Read(data, 0, data.Length); for (int i = metaSize + 1, j = 0; i < data.Length; i++, j++) { value[j] = data[i]; } return(value); }
public void Put(string key, FencePointer fencePointer) { throw new NotSupportedException(); }
public void Put(string key, FencePointer fencePointer) { _totalKeyLength += fencePointer._keyLen; Store[key] = fencePointer; }