This commit is contained in:
21
rediska/cache/CachePolicy.hpp
vendored
Normal file
21
rediska/cache/CachePolicy.hpp
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#include "rediska/common/MessageArguments.hpp"
|
||||
#include "rediska/common/enums.hpp"
|
||||
#include "rediska/common/types.hpp"
|
||||
|
||||
namespace cache {
|
||||
class CachePolicy {
|
||||
public:
|
||||
virtual ~CachePolicy() = default;
|
||||
|
||||
virtual void get(CacheKey&& key) = 0;
|
||||
|
||||
virtual void set(CacheKey&& key, CacheValue&& value, TTL ttl) = 0;
|
||||
|
||||
virtual void applyTo(CacheKey&& key, OperationId op, MessageArguments&& args) = 0;
|
||||
|
||||
protected:
|
||||
virtual void evict() = 0;
|
||||
|
||||
[[nodiscard]] virtual inline bool isFull() const = 0;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user