Search in sources :

Example 1 with Slot

use of suite.immutable.LazyIbTree.Slot in project suite by stupidsing.

the class LazyIbTreeExtentFilePersister method save_.

private Extent save_(List<Slot<T>> slots) {
    IdentityKey<List<Slot<T>>> key = IdentityKey.of(slots);
    Extent extent = slotsByExtent.inverse().get(key);
    if (extent == null) {
        List<Pair<T, Extent>> pairs = // 
        Read.from(// 
        slots).map(// 
        slot -> Pair.of(slot.pivot, save_(slot.readSlots()))).toList();
        slotsByExtent.put(extent = saveSlot(nPages, new PersistSlot<>(pairs)), key);
        nPages = extent.end;
    }
    return extent;
}
Also used : SerializedFileFactory(suite.file.impl.SerializedFileFactory) PageFile(suite.file.PageFile) Read(suite.streamlet.Read) DataInput_(suite.util.DataInput_) DataOutput_(suite.util.DataOutput_) HashMap(java.util.HashMap) HashSet(java.util.HashSet) ExtentFile(suite.file.ExtentFile) Rethrow(suite.util.Rethrow) Map(java.util.Map) IdentityKey(suite.adt.IdentityKey) SerializedPageFile(suite.file.SerializedPageFile) FileFactory(suite.file.impl.FileFactory) Serializer(suite.util.Serialize.Serializer) Slot(suite.immutable.LazyIbTree.Slot) Set(java.util.Set) Bytes(suite.primitive.Bytes) IOException(java.io.IOException) HashBiMap(suite.adt.map.HashBiMap) To(suite.util.To) Serialize(suite.util.Serialize) Pair(suite.adt.pair.Pair) Friends.max(suite.util.Friends.max) List(java.util.List) BiMap(suite.adt.map.BiMap) Extent(suite.file.ExtentAllocator.Extent) Sink(suite.util.FunUtil.Sink) As(suite.streamlet.As) Comparator(java.util.Comparator) Extent(suite.file.ExtentAllocator.Extent) List(java.util.List) Pair(suite.adt.pair.Pair)

Aggregations

IOException (java.io.IOException)1 Comparator (java.util.Comparator)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 IdentityKey (suite.adt.IdentityKey)1 BiMap (suite.adt.map.BiMap)1 HashBiMap (suite.adt.map.HashBiMap)1 Pair (suite.adt.pair.Pair)1 Extent (suite.file.ExtentAllocator.Extent)1 ExtentFile (suite.file.ExtentFile)1 PageFile (suite.file.PageFile)1 SerializedPageFile (suite.file.SerializedPageFile)1 FileFactory (suite.file.impl.FileFactory)1 SerializedFileFactory (suite.file.impl.SerializedFileFactory)1 Slot (suite.immutable.LazyIbTree.Slot)1 Bytes (suite.primitive.Bytes)1 As (suite.streamlet.As)1