![]() |
Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
|

Public Member Functions | |
| ObjectCache (BufferPool &buffer_pool_p) | |
| ObjectCache (idx_t max_memory, BufferPool &buffer_pool_p) | |
| shared_ptr< ObjectCacheEntry > | GetObject (const string &key) |
| template<class T > | |
| shared_ptr< T > | Get (const string &key) |
| template<class T , class... ARGS> | |
| shared_ptr< T > | GetOrCreate (const string &key, ARGS &&... args) |
| void | Put (string key, shared_ptr< ObjectCacheEntry > value) |
| void | Delete (const string &key) |
| idx_t | GetMaxMemory () const |
| idx_t | GetCurrentMemory () const |
| size_t | GetEntryCount () const |
| bool | IsEmpty () const |
| idx_t | EvictToReduceMemory (idx_t target_bytes) |
Static Public Member Functions | |
| static DUCKDB_API ObjectCache & | GetObjectCache (ClientContext &context) |
Static Public Attributes | |
| static constexpr idx_t | DEFAULT_MAX_MEMORY = 8ULL * 1024 * 1024 * 1024 |
| Default max memory 8GiB for non-evictable cache entries. | |
Private Attributes | |
| mutex | lock_mutex |
| SharedLruCache< string, ObjectCacheEntry, duckdb::BufferPoolPayload > | lru_cache |
| LRU cache for evictable entries. | |
| unordered_map< string, shared_ptr< ObjectCacheEntry > > | non_evictable_entries |
| Separate storage for non-evictable entries (i.e., encryption keys) | |
| BufferPool & | buffer_pool |
| Used to create buffer pool reservation on entries creation. | |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |