![]() |
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 | |
| MetadataManager (BlockManager &block_manager, BufferManager &buffer_manager) | |
| BufferManager & | GetBufferManager () const |
| MetadataHandle | AllocateHandle () |
| MetadataHandle | Pin (const MetadataPointer &pointer) |
| MetadataHandle | Pin (const QueryContext &context, const MetadataPointer &pointer) |
| MetaBlockPointer | GetDiskPointer (const MetadataPointer &pointer, uint32_t offset=0) |
| MetadataPointer | FromDiskPointer (MetaBlockPointer pointer) |
| MetadataPointer | RegisterDiskPointer (MetaBlockPointer pointer) |
| void | Flush () |
| Flush all blocks to disk. | |
| bool | BlockHasBeenCleared (const MetaBlockPointer &ptr) |
| void | MarkBlocksAsModified () |
| void | ClearModifiedBlocks (const vector< MetaBlockPointer > &pointers) |
| vector< MetadataBlockInfo > | GetMetadataInfo () const |
| vector< shared_ptr< BlockHandle > > | GetBlocks () const |
| idx_t | BlockCount () |
| void | Write (WriteStream &sink) |
| void | Read (ReadStream &source) |
| idx_t | GetMetadataBlockSize () const |
Static Public Member Functions | |
| static BlockPointer | ToBlockPointer (MetaBlockPointer meta_pointer, const idx_t metadata_block_size) |
| static MetaBlockPointer | FromBlockPointer (BlockPointer block_pointer, const idx_t metadata_block_size) |
Static Public Attributes | |
| static constexpr const idx_t | METADATA_BLOCK_COUNT = 64 |
| The amount of metadata blocks per storage block. | |
Protected Member Functions | |
| block_id_t | AllocateNewBlock (unique_lock< mutex > &block_lock) |
| block_id_t | PeekNextBlockId () const |
| block_id_t | GetNextBlockId () const |
| void | AddBlock (unique_lock< mutex > &block_lock, MetadataBlock new_block, bool if_exists=false) |
| void | AddAndRegisterBlock (unique_lock< mutex > &block_lock, MetadataBlock block) |
| void | ConvertToTransient (unique_lock< mutex > &block_lock, MetadataBlock &block) |
| MetadataPointer | FromDiskPointerInternal (unique_lock< mutex > &block_lock, MetaBlockPointer pointer) |
Protected Attributes | |
| BlockManager & | block_manager |
| BufferManager & | buffer_manager |
| mutex | block_lock |
| unordered_map< block_id_t, MetadataBlock > | blocks |
| unordered_map< block_id_t, idx_t > | modified_blocks |
|
inline |