SizeDelimitedLogReader Class Reference

Space-ng SDK: sol3::core::SizeDelimitedLogReader Class Reference
Space-ng SDK
sol3::core::SizeDelimitedLogReader Class Reference

#include <sol3/core/size_delimited_log_reader.h>

Inheritance diagram for sol3::core::SizeDelimitedLogReader:

Classes

class  FrameView
 
class  Iterator
 
struct  ReadError
 Read error details returned from readAtOffset() and iteration. More...
 
class  ReadErrorException
 Exception wrapper that exposes the ReadError and context string. More...
 

Public Member Functions

 SizeDelimitedLogReader (SizeDelimitedLogReader const &)=delete
 
SizeDelimitedLogReaderoperator= (SizeDelimitedLogReader const &)=delete
 
 SizeDelimitedLogReader (SizeDelimitedLogReader &&)=delete
 
SizeDelimitedLogReaderoperator= (SizeDelimitedLogReader &&)=delete
 
tl::expected< FrameView, ReadErrorreadAtOffset (size_t offset) const
 
Iterator begin () const
 
Iterator const & end () const
 Sentinel iterator representing end-of-file. More...
 
cpp::fs::path const & logPath () const
 Path for the currently opened log file. More...
 

Static Public Member Functions

static std::shared_ptr< SizeDelimitedLogReaderopen (cpp::fs::path const &log_path)
 

Detailed Description

Reads a size-delimited log file containing size-prefixed frames.

Layout and alignment details are documented in SizeDelimitedLogWriter.

Constructor & Destructor Documentation

◆ SizeDelimitedLogReader() [1/2]

sol3::core::SizeDelimitedLogReader::SizeDelimitedLogReader ( SizeDelimitedLogReader const &  )
delete

◆ SizeDelimitedLogReader() [2/2]

sol3::core::SizeDelimitedLogReader::SizeDelimitedLogReader ( SizeDelimitedLogReader &&  )
delete

Member Function Documentation

◆ begin()

Iterator sol3::core::SizeDelimitedLogReader::begin ( ) const

Iterator over all frames in the file, starting at offset 0. If a read fails, the iterator transitions to an error state and frameView() exposes the ReadError.

◆ end()

Iterator const& sol3::core::SizeDelimitedLogReader::end ( ) const

Sentinel iterator representing end-of-file.

◆ logPath()

cpp::fs::path const& sol3::core::SizeDelimitedLogReader::logPath ( ) const
inline

Path for the currently opened log file.

◆ open()

static std::shared_ptr<SizeDelimitedLogReader> sol3::core::SizeDelimitedLogReader::open ( cpp::fs::path const &  log_path)
static

Construct a reader for a single log file path.

Throws ReadErrorException if the path is empty, does not exist, is not a regular file, or cannot be mapped.

◆ operator=() [1/2]

SizeDelimitedLogReader& sol3::core::SizeDelimitedLogReader::operator= ( SizeDelimitedLogReader &&  )
delete

◆ operator=() [2/2]

SizeDelimitedLogReader& sol3::core::SizeDelimitedLogReader::operator= ( SizeDelimitedLogReader const &  )
delete

◆ readAtOffset()

tl::expected<FrameView, ReadError> sol3::core::SizeDelimitedLogReader::readAtOffset ( size_t  offset) const

Read a size-delimited frame at the provided byte offset.

Returns a FrameView that includes the size prefix; use spanNoPrefix() to access the payload bytes. Errors are returned as ReadError values.


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