VLink  2.0.0
A high-performance communication middleware
vlink::BagReader::Info Struct Referencefinal

Aggregated metadata extracted from the bag header, summary and URL index. More...

#include <bag_reader.h>

Collaboration diagram for vlink::BagReader::Info:

Classes

struct  UrlMeta
 Per-URL accounting entry recorded inside Info::url_metas. More...
 

Public Attributes

std::string file_name
 Absolute path to the opened bag file. More...
 
std::string tag_name
 Free-form tag persisted in the header. More...
 
std::string version
 Bag format version string. More...
 
std::string storage_type
 Storage backend label (e.g. "sqlite", "mcap"). More...
 
std::string compression_type
 Default compression codec applied to payloads. More...
 
std::string time_accuracy
 Timestamp resolution token (e.g. "us", "ns"). More...
 
std::string process_name
 Name of the recording process. More...
 
std::string date_time
 Human-readable recording start date and time. More...
 
bool has_completed {false}
 True when the recording was cleanly finalised. More...
 
bool has_idx_elapsed {false}
 True when an elapsed-time index is present. More...
 
bool has_idx_url {false}
 True when a URL index is present. More...
 
bool has_schema {false}
 True when at least one embedded schema is available. More...
 
int32_t timezone {0}
 Recording timezone offset in minutes from UTC. More...
 
int64_t start_timestamp {0}
 Wall-clock recording start (milliseconds since epoch). More...
 
int64_t blank_duration {0}
 Cumulative silent-gap duration in milliseconds. More...
 
int64_t total_duration {0}
 Total recording duration in milliseconds. More...
 
int64_t file_size {0}
 On-disk file size in bytes. More...
 
int64_t total_raw_size {0}
 Sum of uncompressed payload bytes. More...
 
int64_t message_count {0}
 Total recorded message count across every URL. More...
 
int64_t split_count {0}
 Number of split files (0 for a single-file bag). More...
 
int64_t split_by_size {0}
 Split threshold in bytes when split mode is active. More...
 
int64_t split_by_time {0}
 Split threshold in milliseconds when split mode is active. More...
 
std::vector< UrlMetaurl_metas
 One entry per recorded URL. More...
 

Detailed Description

Aggregated metadata extracted from the bag header, summary and URL index.

Populated when the reader opens the file and is stable thereafter unless a destructive operation such as reindex() or fix() rewrites the index.

Member Data Documentation

◆ blank_duration

int64_t vlink::BagReader::Info::blank_duration {0}

Cumulative silent-gap duration in milliseconds.

◆ compression_type

std::string vlink::BagReader::Info::compression_type

Default compression codec applied to payloads.

◆ date_time

std::string vlink::BagReader::Info::date_time

Human-readable recording start date and time.

◆ file_name

std::string vlink::BagReader::Info::file_name

Absolute path to the opened bag file.

◆ file_size

int64_t vlink::BagReader::Info::file_size {0}

On-disk file size in bytes.

◆ has_completed

bool vlink::BagReader::Info::has_completed {false}

True when the recording was cleanly finalised.

◆ has_idx_elapsed

bool vlink::BagReader::Info::has_idx_elapsed {false}

True when an elapsed-time index is present.

◆ has_idx_url

bool vlink::BagReader::Info::has_idx_url {false}

True when a URL index is present.

◆ has_schema

bool vlink::BagReader::Info::has_schema {false}

True when at least one embedded schema is available.

◆ message_count

int64_t vlink::BagReader::Info::message_count {0}

Total recorded message count across every URL.

◆ process_name

std::string vlink::BagReader::Info::process_name

Name of the recording process.

◆ split_by_size

int64_t vlink::BagReader::Info::split_by_size {0}

Split threshold in bytes when split mode is active.

◆ split_by_time

int64_t vlink::BagReader::Info::split_by_time {0}

Split threshold in milliseconds when split mode is active.

◆ split_count

int64_t vlink::BagReader::Info::split_count {0}

Number of split files (0 for a single-file bag).

◆ start_timestamp

int64_t vlink::BagReader::Info::start_timestamp {0}

Wall-clock recording start (milliseconds since epoch).

◆ storage_type

std::string vlink::BagReader::Info::storage_type

Storage backend label (e.g. "sqlite", "mcap").

◆ tag_name

std::string vlink::BagReader::Info::tag_name

Free-form tag persisted in the header.

◆ time_accuracy

std::string vlink::BagReader::Info::time_accuracy

Timestamp resolution token (e.g. "us", "ns").

◆ timezone

int32_t vlink::BagReader::Info::timezone {0}

Recording timezone offset in minutes from UTC.

◆ total_duration

int64_t vlink::BagReader::Info::total_duration {0}

Total recording duration in milliseconds.

◆ total_raw_size

int64_t vlink::BagReader::Info::total_raw_size {0}

Sum of uncompressed payload bytes.

◆ url_metas

std::vector<UrlMeta> vlink::BagReader::Info::url_metas

One entry per recorded URL.

◆ version

std::string vlink::BagReader::Info::version

Bag format version string.


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