![]() |
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.
|

Classes | |
| struct | CompressionResult |
| struct | TemporaryFileManagerLock |
Public Member Functions | |
| TemporaryFileManager (DatabaseInstance &db, const string &temp_directory_p, atomic< idx_t > &size_on_disk) | |
| idx_t | WriteTemporaryBuffer (block_id_t block_id, FileBuffer &buffer) |
| Create/Read/Update/Delete operations for temporary buffers. | |
| bool | HasTemporaryBuffer (block_id_t block_id) |
| unique_ptr< FileBuffer > | ReadTemporaryBuffer (QueryContext context, block_id_t id, unique_ptr< FileBuffer > reusable_buffer) |
| idx_t | DeleteTemporaryBuffer (block_id_t id) |
| bool | IsEncrypted () const |
| vector< TemporaryFileInformation > | GetTemporaryFiles () |
| Get the list of temporary files and their sizes. | |
| optional_idx | GetMaxSwapSpace () const |
| Get/set maximum swap space. | |
| void | SetMaxSwapSpace (optional_idx limit) |
| idx_t | GetTotalUsedSpaceInBytes () const |
| Get temporary file size. | |
| void | IncreaseSizeOnDisk (idx_t amount) |
| Register temporary file size growth. | |
| void | DecreaseSizeOnDisk (idx_t amount) |
| Register temporary file size decrease. | |
Private Member Functions | |
| CompressionResult | CompressBuffer (TemporaryFileCompressionAdaptivity &compression_adaptivity, FileBuffer &buffer, AllocatedData &compressed_buffer) |
| Compress buffer, write it in compressed_buffer and return the size/level. | |
| string | CreateTemporaryFileName (const TemporaryFileIdentifier &identifier) const |
| Create file name for given size/index. | |
| TemporaryFileIndex | GetTempBlockIndex (TemporaryFileManagerLock &, block_id_t id) |
| Get/erase a temporary block. | |
| void | EraseUsedBlock (TemporaryFileManagerLock &lock, block_id_t id, TemporaryFileHandle &handle, TemporaryFileIndex index) |
| optional_ptr< TemporaryFileHandle > | GetFileHandle (TemporaryFileManagerLock &, const TemporaryFileIdentifier &identifier) |
| Get/erase a temporary file handle. | |
| void | EraseFileHandle (TemporaryFileManagerLock &, const TemporaryFileIdentifier &identifier) |
Private Attributes | |
| DatabaseInstance & | db |
| Reference to the DB instance. | |
| string | temp_directory |
| The temporary directory. | |
| mutex | manager_lock |
| Lock for parallel access. | |
| TemporaryFileMap | files |
| The set of active temporary file handles. | |
| unordered_map< block_id_t, TemporaryFileIndex > | used_blocks |
| Map of block_id -> temporary file position. | |
| unordered_map< TemporaryBufferSize, BlockIndexManager, EnumClassHash > | index_managers |
| Map of TemporaryBufferSize -> manager of in-use temporary file indexes. | |
| atomic< idx_t > & | size_on_disk |
| The size in bytes of the temporary files that are currently alive. | |
| idx_t | max_swap_space |
| The max amount of disk space that can be used. | |
| array< TemporaryFileCompressionAdaptivity, COMPRESSION_ADAPTIVITIES > | compression_adaptivities |
| Class that oversees when/how much to compress. | |
Static Private Attributes | |
| static constexpr idx_t | COMPRESSION_ADAPTIVITIES = 64 |
| How many compression adaptivities we have so that threads don't all share the same one. | |
Friends | |
| struct | BlockIndexManager |
| class | TemporaryFileHandle |