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
{
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();
///
/// Perform the conversion of the records from (TKey; TInput) to (TKey; TValue). Called after CompleteAdding
///
void Compress();
///
/// Rebuilds index files. Only for compressed data.
///
void RebuildIndex();
}
}