using System; using System.Collections.Generic; using System.Threading.Tasks; namespace ZeroLevel.Services.PartitionStorage { /// /// Partition store interface /// /// Record key /// The value that is written in the stream /// Value after compression of TInput values by duplicate keys (TInput list or similar) /// Meta information for partition search public interface IStore { IStorePartitionBuilder CreateBuilder(TMeta info); IStorePartitionBuilder CreateMergeAccessor(TMeta info, Func> decompressor); IStorePartitionAccessor CreateAccessor(TMeta info); Task> Search(StoreSearchRequest searchRequest); void RemovePartition(TMeta info); } }