#include <cache.h>
|
| | Cache (size_t duration, size_t interval, std::shared_ptr< TickService > tick_service) |
| | Cache ()=delete |
| | Cache (const Cache &)=default |
| | Cache (Cache &&) noexcept=default |
| Cache & | operator= (const Cache &)=default |
| Cache & | operator= (Cache &&) noexcept=default |
| size_t | Size () const noexcept |
| bool | Empty () const noexcept |
| void | Insert (const K &key, const T &value, size_t ttl) |
| void | Insert (const K &key, T &&value, size_t ttl) |
| bool | Contains (const K &key) noexcept |
| bool | Contains (const K &start_key, const K &end_key) |
| ValueType | Get (const K &key) noexcept |
| std::vector< ValueType > | Get (const K &start_key, const K &end_key) |
| ValueType | First () noexcept |
| ValueType | Last () noexcept |
| void | Clear () noexcept |
|
| const size_t | duration_ |
| | The duration in ticks of the entire queue.
|
| const size_t | interval_ |
| | The interval at which buckets are cleared in ticks.
|
| const size_t | total_buckets_ |
| | The total amount of buckets. Value is calculated by duration / interval.
|
| IndexType | bucket_index_ { 0 } |
| | The index in time of the current bucket.
|
| TickType | current_ticks_ { 0 } |
| | Last calculated tick value.
|
| std::vector< BucketType > | buckets_ |
| | The memory storage for all keys to be managed.
|
| CacheType | cache_ |
| | The cache of elements being stored.
|
| std::shared_ptr< TickService > | tick_service_ |
| | Tick service for calculating new tick and jumps in time.
|
◆ Cache() [1/4]
template<typename K, typename T>
| quicr::Cache< K, T >::Cache |
( |
size_t | duration, |
|
|
size_t | interval, |
|
|
std::shared_ptr< TickService > | tick_service ) |
|
inline |
◆ Cache() [2/4]
template<typename K, typename T>
◆ Cache() [3/4]
template<typename K, typename T>
◆ Cache() [4/4]
template<typename K, typename T>
◆ Advance()
template<typename K, typename T>
◆ Clear()
template<typename K, typename T>
◆ Contains() [1/2]
template<typename K, typename T>
◆ Contains() [2/2]
template<typename K, typename T>
| bool quicr::Cache< K, T >::Contains |
( |
const K & | start_key, |
|
|
const K & | end_key ) |
|
inline |
◆ Empty()
template<typename K, typename T>
◆ First()
template<typename K, typename T>
◆ Get() [1/2]
template<typename K, typename T>
◆ Get() [2/2]
template<typename K, typename T>
| std::vector< ValueType > quicr::Cache< K, T >::Get |
( |
const K & | start_key, |
|
|
const K & | end_key ) |
|
inline |
◆ Insert() [1/2]
template<typename K, typename T>
| void quicr::Cache< K, T >::Insert |
( |
const K & | key, |
|
|
const T & | value, |
|
|
size_t | ttl ) |
|
inline |
◆ Insert() [2/2]
template<typename K, typename T>
| void quicr::Cache< K, T >::Insert |
( |
const K & | key, |
|
|
T && | value, |
|
|
size_t | ttl ) |
|
inline |
◆ InternalInsert()
template<typename K, typename T>
template<typename Value>
| void quicr::Cache< K, T >::InternalInsert |
( |
const K & | key, |
|
|
Value | value, |
|
|
size_t | ttl ) |
|
inlineprotected |
◆ Last()
template<typename K, typename T>
◆ operator=() [1/2]
template<typename K, typename T>
◆ operator=() [2/2]
template<typename K, typename T>
◆ Size()
template<typename K, typename T>
◆ bucket_index_
template<typename K, typename T>
The index in time of the current bucket.
◆ buckets_
template<typename K, typename T>
The memory storage for all keys to be managed.
◆ cache_
template<typename K, typename T>
The cache of elements being stored.
◆ current_ticks_
template<typename K, typename T>
Last calculated tick value.
◆ duration_
template<typename K, typename T>
The duration in ticks of the entire queue.
◆ interval_
template<typename K, typename T>
The interval at which buckets are cleared in ticks.
◆ tick_service_
template<typename K, typename T>
| std::shared_ptr<TickService> quicr::Cache< K, T >::tick_service_ |
|
protected |
Tick service for calculating new tick and jumps in time.
◆ total_buckets_
template<typename K, typename T>
The total amount of buckets. Value is calculated by duration / interval.
The documentation for this class was generated from the following file: