Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
        public FencePointer Get(string key)
        {
            FencePointer fencePointer = default(FencePointer);

            if (_store.TryGetValue(key, out fencePointer))
            {
                return(fencePointer);
            }
            return(fencePointer);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public void Put(string key, FencePointer fencePointer)
 {
     throw new NotSupportedException();
 }
Exemplo n.º 5
0
 public void Put(string key, FencePointer fencePointer)
 {
     _totalKeyLength += fencePointer._keyLen;
     Store[key]       = fencePointer;
 }