using System.Collections.Generic; namespace ZeroLevel.Services.PartitionStorage { /// /// Provides write operations in catalog partition /// /// Key type /// Type of one input value /// Type of records aggregate public interface IStorePartitionBuilder : IStorePartitionBase { long TotalRecords { get; } IEnumerable> Iterate(); /// /// Writing a key-value pair /// void Store(TKey key, TInput value); /// /// Called after all key-value pairs are written to the partition /// void CompleteAdding(); /// /// Performs compression/grouping of recorded data in a partition /// void Compress(); /// /// Rebuilds indexes for data in a partition /// void RebuildIndex(); } }