#pragma once #include #include namespace NKikimr::NMiniKQL { struct ISpiller { using TPtr = std::shared_ptr; virtual ~ISpiller(){} using TKey = ui64; virtual NThreading::TFuture Put(NYql::TChunkedBuffer&& blob) = 0; ///\return /// nullopt for absent keys /// TFuture virtual NThreading::TFuture> Get(TKey key) = 0; virtual NThreading::TFuture Delete(TKey) = 0; ///Get + Delete ///Stored value may be moved to future virtual NThreading::TFuture> Extract(TKey key) = 0; }; }//namespace NKikimr::NMiniKQL