public PersistentHashTable(string hashtableName, int tableSize, int keySize, int valueSize, int userHeaderSize) { _simpleCollectionNextIndex = new PersistentNextSpaceArray(hashtableName, keySize + valueSize, userHeaderSize + GetHeaderSize()); HashTableHeader header = new HashTableHeader(tableSize, keySize, valueSize); _simpleCollectionNextIndex.PutUserHeader(header.Serialize()); _simpleCollectionNextIndex.Put(tableSize-1, new byte[0]); }
public PersistentHashTable(string hashtableName, int tableSize, int keySize, int valueSize, int userHeaderSize) { _simpleCollectionNextIndex = new PersistentNextSpaceArray(hashtableName, keySize + valueSize, userHeaderSize + GetHeaderSize()); HashTableHeader header = new HashTableHeader(tableSize, keySize, valueSize); _simpleCollectionNextIndex.PutUserHeader(header.Serialize()); _simpleCollectionNextIndex.Put(tableSize - 1, new byte[0]); }
public void Put(int index, byte[] buffer) { int elementSize = GetElementSize(); byte[] extendedBuffer = buffer.ExtendTo(elementSize); _simpleCollectionNextSpace.Put(index, extendedBuffer); _cache.AddToCache(new Element(extendedBuffer), index); }
private void GetNextIndexTestAssert(int expected) { IPersistentArrayNextSpace target = InitPA("GetPANextIndexTest", 1, 16); try{ target.Put(expected - 1, new byte[0]); int actual = target.GetNextIndex(); Assert.AreEqual(expected, actual); } finally { target.Close(); } }
private void PutGetTestAssert(int elementIndex, byte[] expected) { IPersistentArrayNextSpace target = InitPA("PAGetTest", 3, 16); try { target.Put(elementIndex, expected); byte[] actual = target.Get(elementIndex); TestHelper.AssertByteArraysAreSame(expected, actual); } finally { target.Close(); } }
public void WipeElement(int index) { _simpleCollectionNextSpace.Put(index, new byte[GetElementSize()]); }
private void PutElement(HashTableElement element) { _simpleCollectionNextIndex.Put(element.Index, element.Key.Append(element.Value)); }