using System; using System.Collections.Generic; namespace ZeroLevel.Services.PartitionStorage { /// /// Provides read-write operations in catalog partition /// /// Key type /// Type of one input value /// Type of records aggregate public interface IStorePartitionAccessor : IDisposable { /// /// Save one record /// void Store(TKey key, TInput value); /// /// Complete the recording and perform the conversion of the records from /// (TKey; TInput) to (TKey; TValue) /// void CompleteStoreAndRebuild(); /// /// Rebuild indexes /// void RebuildIndex(); /// /// Find in catalog partition by key /// StorePartitionKeyValueSearchResult Find(TKey key); /// /// Find in catalog partition by keys /// IEnumerable> Find(IEnumerable keys); IEnumerable> Iterate(); IEnumerable> IterateKeyBacket(TKey key); /// /// Has any files /// int CountDataFiles(); /// /// Remove all files /// void DropData(); } }