quic/qbox
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
gs::RegionFIFOCache< Key, Value > Class Template Reference

RegionFIFOCache - A simple FIFO cache for region-based address lookups. More...

#include <addrmap_cache_examples.h>

Inheritance diagram for gs::RegionFIFOCache< Key, Value >:
Inheritance graph
[legend]
Collaboration diagram for gs::RegionFIFOCache< Key, Value >:
Collaboration graph
[legend]

Public Member Functions

bool get (const Key &key, Value &value) override
 
void put (const Key &key, const Value &value, uint64_t size) override
 
void clear () override
 
uint64_t get_hits () const override
 
uint64_t get_misses () const override
 
void reset_stats () override
 

Detailed Description

template<typename Key, typename Value>
class gs::RegionFIFOCache< Key, Value >

RegionFIFOCache - A simple FIFO cache for region-based address lookups.

This cache uses First-In-First-Out (FIFO) eviction policy, removing the oldest entry by insertion time (not by access pattern). Each entry covers an entire memory region, allowing range-based lookups.

Note: This is NOT an LRU cache - frequently accessed regions may still be evicted if they were added early. For true LRU behavior, use RegionLRUCache instead.

Each router instance has its own cache (instance-level storage).

Member Function Documentation

◆ clear()

template<typename Key , typename Value >
void gs::RegionFIFOCache< Key, Value >::clear ( )
inlineoverridevirtual

◆ get()

template<typename Key , typename Value >
bool gs::RegionFIFOCache< Key, Value >::get ( const Key &  key,
Value value 
)
inlineoverridevirtual

◆ get_hits()

template<typename Key , typename Value >
uint64_t gs::RegionFIFOCache< Key, Value >::get_hits ( ) const
inlineoverridevirtual

◆ get_misses()

template<typename Key , typename Value >
uint64_t gs::RegionFIFOCache< Key, Value >::get_misses ( ) const
inlineoverridevirtual

◆ put()

template<typename Key , typename Value >
void gs::RegionFIFOCache< Key, Value >::put ( const Key &  key,
const Value value,
uint64_t  size 
)
inlineoverridevirtual

◆ reset_stats()

template<typename Key , typename Value >
void gs::RegionFIFOCache< Key, Value >::reset_stats ( )
inlineoverridevirtual

The documentation for this class was generated from the following file: