class McapReader
Declaration
class McapReader { /* full declaration omitted */ };
Declared at: mcap/include/mcap/reader.hpp:275
Method Overview
- public static mcap::Status ParseAttachment(const mcap::Record & record, mcap::Attachment * attachment)
- public static mcap::Status ParseAttachmentIndex(const mcap::Record & record, mcap::AttachmentIndex * attachmentIndex)
- public static mcap::Status ParseChannel(const mcap::Record & record, mcap::Channel * channel)
- public static mcap::Status ParseChunk(const mcap::Record & record, mcap::Chunk * chunk)
- public static mcap::Status ParseChunkIndex(const mcap::Record & record, mcap::ChunkIndex * chunkIndex)
- public static int ParseCompression(const int compression)
- public static mcap::Status ParseDataEnd(const mcap::Record & record, mcap::DataEnd * dataEnd)
- public static mcap::Status ParseFooter(const mcap::Record & record, mcap::Footer * footer)
- public static mcap::Status ParseHeader(const mcap::Record & record, mcap::Header * header)
- public static mcap::Status ParseMessage(const mcap::Record & record, mcap::Message * message)
- public static mcap::Status ParseMessageIndex(const mcap::Record & record, mcap::MessageIndex * messageIndex)
- public static mcap::Status ParseMetadata(const mcap::Record & record, mcap::Metadata * metadata)
- public static mcap::Status ParseMetadataIndex(const mcap::Record & record, mcap::MetadataIndex * metadataIndex)
- public static mcap::Status ParseSchema(const mcap::Record & record, mcap::Schema * schema)
- public static mcap::Status ParseStatistics(const mcap::Record & record, mcap::Statistics * statistics)
- public static mcap::Status ParseSummaryOffset(const mcap::Record & record, mcap::SummaryOffset * summaryOffset)
- public static mcap::Status ReadFooter(mcap::IReadable & reader, uint64_t offset, mcap::Footer * footer)
- public static mcap::Status ReadRecord(mcap::IReadable & reader, uint64_t offset, mcap::Record * record)
- public const int & attachmentIndexes() const
- public std::pair<ByteOffset, ByteOffset> byteRange(mcap::Timestamp startTime, mcap::Timestamp endTime = MaxTime) const
- public mcap::ChannelPtr channel(mcap::ChannelId channelId) const
- public const int channels() const
- public const int & chunkIndexes() const
- public void close()
- public mcap::IReadable * dataSource()
- public const int & footer() const
- public const int & header() const
- public const int & metadataIndexes() const
- public mcap::Status open(std::ifstream & stream)
- public mcap::Status open(int filename)
- public mcap::Status open(mcap::IReadable & reader)
- public mcap::LinearMessageView readMessages(const mcap::ProblemCallback & onProblem, const mcap::ReadMessageOptions & options)
- public mcap::LinearMessageView readMessages(const mcap::ProblemCallback & onProblem, mcap::Timestamp startTime = 0, mcap::Timestamp endTime = MaxTime)
- public mcap::LinearMessageView readMessages(mcap::Timestamp startTime = 0, mcap::Timestamp endTime = MaxTime)
- public mcap::Status readSummary(mcap::ReadSummaryMethod method, const mcap::ProblemCallback & onProblem = <null expr>)
- public mcap::SchemaPtr schema(mcap::SchemaId schemaId) const
- public const int schemas() const
- public const int & statistics() const
- public ~McapReader()
Methods
¶static mcap::Status ParseAttachment(
const mcap::Record& record,
mcap::Attachment* attachment)
static mcap::Status ParseAttachment(
const mcap::Record& record,
mcap::Attachment* attachment)
Declared at: mcap/include/mcap/reader.hpp:464
Parameters
- const mcap::Record& record
- mcap::Attachment* attachment
¶static mcap::Status ParseAttachmentIndex(
const mcap::Record& record,
mcap::AttachmentIndex* attachmentIndex)
static mcap::Status ParseAttachmentIndex(
const mcap::Record& record,
mcap::AttachmentIndex* attachmentIndex)
Declared at: mcap/include/mcap/reader.hpp:465
Parameters
- const mcap::Record& record
- mcap::AttachmentIndex* attachmentIndex
¶static mcap::Status ParseChannel(
const mcap::Record& record,
mcap::Channel* channel)
static mcap::Status ParseChannel(
const mcap::Record& record,
mcap::Channel* channel)
Declared at: mcap/include/mcap/reader.hpp:459
Parameters
- const mcap::Record& record
- mcap::Channel* channel
¶static mcap::Status ParseChunk(
const mcap::Record& record,
mcap::Chunk* chunk)
static mcap::Status ParseChunk(
const mcap::Record& record,
mcap::Chunk* chunk)
Declared at: mcap/include/mcap/reader.hpp:461
Parameters
- const mcap::Record& record
- mcap::Chunk* chunk
¶static mcap::Status ParseChunkIndex(
const mcap::Record& record,
mcap::ChunkIndex* chunkIndex)
static mcap::Status ParseChunkIndex(
const mcap::Record& record,
mcap::ChunkIndex* chunkIndex)
Declared at: mcap/include/mcap/reader.hpp:463
Parameters
- const mcap::Record& record
- mcap::ChunkIndex* chunkIndex
¶static int ParseCompression(const int compression)
static int ParseCompression(const int compression)
Declared at: mcap/include/mcap/reader.hpp:475
Parameters
- const int compression
¶static mcap::Status ParseDataEnd(
const mcap::Record& record,
mcap::DataEnd* dataEnd)
static mcap::Status ParseDataEnd(
const mcap::Record& record,
mcap::DataEnd* dataEnd)
Declared at: mcap/include/mcap/reader.hpp:470
Parameters
- const mcap::Record& record
- mcap::DataEnd* dataEnd
¶static mcap::Status ParseFooter(
const mcap::Record& record,
mcap::Footer* footer)
static mcap::Status ParseFooter(
const mcap::Record& record,
mcap::Footer* footer)
Declared at: mcap/include/mcap/reader.hpp:457
Parameters
- const mcap::Record& record
- mcap::Footer* footer
¶static mcap::Status ParseHeader(
const mcap::Record& record,
mcap::Header* header)
static mcap::Status ParseHeader(
const mcap::Record& record,
mcap::Header* header)
Declared at: mcap/include/mcap/reader.hpp:456
Parameters
- const mcap::Record& record
- mcap::Header* header
¶static mcap::Status ParseMessage(
const mcap::Record& record,
mcap::Message* message)
static mcap::Status ParseMessage(
const mcap::Record& record,
mcap::Message* message)
Declared at: mcap/include/mcap/reader.hpp:460
Parameters
- const mcap::Record& record
- mcap::Message* message
¶static mcap::Status ParseMessageIndex(
const mcap::Record& record,
mcap::MessageIndex* messageIndex)
static mcap::Status ParseMessageIndex(
const mcap::Record& record,
mcap::MessageIndex* messageIndex)
Declared at: mcap/include/mcap/reader.hpp:462
Parameters
- const mcap::Record& record
- mcap::MessageIndex* messageIndex
¶static mcap::Status ParseMetadata(
const mcap::Record& record,
mcap::Metadata* metadata)
static mcap::Status ParseMetadata(
const mcap::Record& record,
mcap::Metadata* metadata)
Declared at: mcap/include/mcap/reader.hpp:467
Parameters
- const mcap::Record& record
- mcap::Metadata* metadata
¶static mcap::Status ParseMetadataIndex(
const mcap::Record& record,
mcap::MetadataIndex* metadataIndex)
static mcap::Status ParseMetadataIndex(
const mcap::Record& record,
mcap::MetadataIndex* metadataIndex)
Declared at: mcap/include/mcap/reader.hpp:468
Parameters
- const mcap::Record& record
- mcap::MetadataIndex* metadataIndex
¶static mcap::Status ParseSchema(
const mcap::Record& record,
mcap::Schema* schema)
static mcap::Status ParseSchema(
const mcap::Record& record,
mcap::Schema* schema)
Declared at: mcap/include/mcap/reader.hpp:458
Parameters
- const mcap::Record& record
- mcap::Schema* schema
¶static mcap::Status ParseStatistics(
const mcap::Record& record,
mcap::Statistics* statistics)
static mcap::Status ParseStatistics(
const mcap::Record& record,
mcap::Statistics* statistics)
Declared at: mcap/include/mcap/reader.hpp:466
Parameters
- const mcap::Record& record
- mcap::Statistics* statistics
¶static mcap::Status ParseSummaryOffset(
const mcap::Record& record,
mcap::SummaryOffset* summaryOffset)
static mcap::Status ParseSummaryOffset(
const mcap::Record& record,
mcap::SummaryOffset* summaryOffset)
Declared at: mcap/include/mcap/reader.hpp:469
Parameters
- const mcap::Record& record
- mcap::SummaryOffset* summaryOffset
¶static mcap::Status ReadFooter(
mcap::IReadable& reader,
uint64_t offset,
mcap::Footer* footer)
static mcap::Status ReadFooter(
mcap::IReadable& reader,
uint64_t offset,
mcap::Footer* footer)
Declared at: mcap/include/mcap/reader.hpp:454
Parameters
- mcap::IReadable& reader
- uint64_t offset
- mcap::Footer* footer
¶static mcap::Status ReadRecord(
mcap::IReadable& reader,
uint64_t offset,
mcap::Record* record)
static mcap::Status ReadRecord(
mcap::IReadable& reader,
uint64_t offset,
mcap::Record* record)
Declared at: mcap/include/mcap/reader.hpp:453
Parameters
- mcap::IReadable& reader
- uint64_t offset
- mcap::Record* record
¶const int& attachmentIndexes() const
const int& attachmentIndexes() const
Declared at: mcap/include/mcap/reader.hpp:447
¶std::pair<ByteOffset, ByteOffset> byteRange(
mcap::Timestamp startTime,
mcap::Timestamp endTime = MaxTime) const
std::pair<ByteOffset, ByteOffset> byteRange(
mcap::Timestamp startTime,
mcap::Timestamp endTime = MaxTime) const
Description
Returns starting and ending byte offsets that must be read to iterate all messages in the given time range. If `readSummary()` has been successfully called and the recording contains Chunk records, this range will be narrowed to Chunk records that contain messages in the given time range. Otherwise, this range will be the entire Data section if the Data End record has been found or the entire file otherwise.
This method is automatically used by `readMessages()`, and only needs to be called directly if the caller is manually constructing an iterator.
Declared at: mcap/include/mcap/reader.hpp:379
Parameters
- mcap::Timestamp startTime
- Start time in nanoseconds.
- mcap::Timestamp endTime = MaxTime
- Optional end time in nanoseconds.
Returns
Start and end byte offsets.
¶mcap::ChannelPtr channel(
mcap::ChannelId channelId) const
mcap::ChannelPtr channel(
mcap::ChannelId channelId) const
Description
Look up a Channel record by channel ID. If the Channel has not been encountered yet or does not exist in the file, this will return nullptr.
Declared at: mcap/include/mcap/reader.hpp:419
Parameters
- mcap::ChannelId channelId
- Channel ID to search for
Returns
ChannelPtr A shared pointer to a Channel record, or nullptr
¶const int channels() const
const int channels() const
Declared at: mcap/include/mcap/reader.hpp:405
¶const int& chunkIndexes() const
const int& chunkIndexes() const
Declared at: mcap/include/mcap/reader.hpp:433
¶void close()
void close()
Description
Closes the MCAP file, clearing any internal data structures and state and dropping the data source reference.
Declared at: mcap/include/mcap/reader.hpp:315
¶mcap::IReadable* dataSource()
mcap::IReadable* dataSource()
Description
Returns a pointer to the IReadable data source backing this reader. Will return nullptr if the reader is not open.
Declared at: mcap/include/mcap/reader.hpp:386
¶const int& footer() const
const int& footer() const
Declared at: mcap/include/mcap/reader.hpp:395
¶const int& header() const
const int& header() const
Declared at: mcap/include/mcap/reader.hpp:391
¶const int& metadataIndexes() const
const int& metadataIndexes() const
Declared at: mcap/include/mcap/reader.hpp:440
¶mcap::Status open(std::ifstream& stream)
mcap::Status open(std::ifstream& stream)
Description
Opens an MCAP file for reading from a std::ifstream input file stream.
Declared at: mcap/include/mcap/reader.hpp:308
Parameters
- std::ifstream& stream
- Input file stream to read MCAP data from.
Returns
Status StatusCode::Success on success. If a non-success Status is returned, the file is not considered open and McapReader is not usable until `open()` is called and a success response is returned.
¶mcap::Status open(int filename)
mcap::Status open(int filename)
Declared at: mcap/include/mcap/reader.hpp:298
Parameters
- int filename
¶mcap::Status open(mcap::IReadable& reader)
mcap::Status open(mcap::IReadable& reader)
Description
Opens an MCAP file for reading from an already constructed IReadable implementation.
Declared at: mcap/include/mcap/reader.hpp:289
Parameters
- mcap::IReadable& reader
- An implementation of the IReader interface that provides raw MCAP data.
Returns
Status StatusCode::Success on success. If a non-success Status is returned, the data source is not considered open and McapReader is not usable until `open()` is called and a success response is returned.
¶mcap::LinearMessageView readMessages(
const mcap::ProblemCallback& onProblem,
const mcap::ReadMessageOptions& options)
mcap::LinearMessageView readMessages(
const mcap::ProblemCallback& onProblem,
const mcap::ReadMessageOptions& options)
Description
Returns an iterable view with `begin()` and `end()` methods for iterating Messages in the MCAP file. Uses the options from `options` to select the messages that are yielded.
Declared at: mcap/include/mcap/reader.hpp:361
Parameters
- const mcap::ProblemCallback& onProblem
- const mcap::ReadMessageOptions& options
¶mcap::LinearMessageView readMessages(
const mcap::ProblemCallback& onProblem,
mcap::Timestamp startTime = 0,
mcap::Timestamp endTime = MaxTime)
mcap::LinearMessageView readMessages(
const mcap::ProblemCallback& onProblem,
mcap::Timestamp startTime = 0,
mcap::Timestamp endTime = MaxTime)
Description
Returns an iterable view with `begin()` and `end()` methods for iterating Messages in the MCAP file. If a non-zero `startTime` is provided, this will first parse the Summary section (by calling `readSummary()`) if allowed by the configuration options and it has not been parsed yet.
Declared at: mcap/include/mcap/reader.hpp:353
Parameters
- const mcap::ProblemCallback& onProblem
- A callback that will be called when a parsing error occurs. Problems can either be recoverable, indicating some data could not be read, or non-recoverable, stopping the iteration.
- mcap::Timestamp startTime = 0
- Optional start time in nanoseconds. Messages before this time will not be returned.
- mcap::Timestamp endTime = MaxTime
- Optional end time in nanoseconds. Messages equal to or after this time will not be returned.
¶mcap::LinearMessageView readMessages(
mcap::Timestamp startTime = 0,
mcap::Timestamp endTime = MaxTime)
mcap::LinearMessageView readMessages(
mcap::Timestamp startTime = 0,
mcap::Timestamp endTime = MaxTime)
Description
Returns an iterable view with `begin()` and `end()` methods for iterating Messages in the MCAP file. If a non-zero `startTime` is provided, this will first parse the Summary section (by calling `readSummary()`) if allowed by the configuration options and it has not been parsed yet.
Declared at: mcap/include/mcap/reader.hpp:338
Parameters
- mcap::Timestamp startTime = 0
- Optional start time in nanoseconds. Messages before this time will not be returned.
- mcap::Timestamp endTime = MaxTime
- Optional end time in nanoseconds. Messages equal to or after this time will not be returned.
¶mcap::Status readSummary(
mcap::ReadSummaryMethod method,
const mcap::ProblemCallback& onProblem =
<null expr>)
mcap::Status readSummary(
mcap::ReadSummaryMethod method,
const mcap::ProblemCallback& onProblem =
<null expr>)
Description
Read and parse the Summary section at the end of the MCAP file, if available. This will populate internal indexes to allow for efficient summarization and random access. This method will automatically be called upon requesting summary data or first seek if Summary section parsing is allowed by the configuration options.
Declared at: mcap/include/mcap/reader.hpp:324
Parameters
- mcap::ReadSummaryMethod method
- const mcap::ProblemCallback& onProblem = <null expr>
¶mcap::SchemaPtr schema(
mcap::SchemaId schemaId) const
mcap::SchemaPtr schema(
mcap::SchemaId schemaId) const
Description
Look up a Schema record by schema ID. If the Schema has not been encountered yet or does not exist in the file, this will return nullptr.
Declared at: mcap/include/mcap/reader.hpp:427
Parameters
- mcap::SchemaId schemaId
- Schema ID to search for
Returns
SchemaPtr A shared pointer to a Schema record, or nullptr
¶const int schemas() const
const int schemas() const
Declared at: mcap/include/mcap/reader.hpp:410
¶const int& statistics() const
const int& statistics() const
Declared at: mcap/include/mcap/reader.hpp:399
¶~McapReader()
~McapReader()
Declared at: mcap/include/mcap/reader.hpp:277