Apollo 10.0
自动驾驶开放平台
apollo::cyber::record::Chunk结构体 参考

#include <record_file_writer.h>

apollo::cyber::record::Chunk 的协作图:

Public 成员函数

 Chunk ()
 
void clear ()
 
void add (const proto::SingleMessage &message)
 
bool empty ()
 

Public 属性

std::mutex mutex_
 
proto::ChunkHeader header_
 
std::unique_ptr< proto::ChunkBodybody_ = nullptr
 

详细描述

在文件 record_file_writer.h42 行定义.

构造及析构函数说明

◆ Chunk()

apollo::cyber::record::Chunk::Chunk ( )
inline

在文件 record_file_writer.h43 行定义.

成员函数说明

◆ add()

void apollo::cyber::record::Chunk::add ( const proto::SingleMessage message)
inline

在文件 record_file_writer.h53 行定义.

53 {
54 std::lock_guard<std::mutex> lock(mutex_);
55 proto::SingleMessage* p_message = body_->add_messages();
56 *p_message = message;
57 if (header_.begin_time() == 0) {
58 header_.set_begin_time(message.time());
59 }
60 if (header_.begin_time() > message.time()) {
61 header_.set_begin_time(message.time());
62 }
63 if (header_.end_time() < message.time()) {
64 header_.set_end_time(message.time());
65 }
66 header_.set_message_number(header_.message_number() + 1);
67 header_.set_raw_size(header_.raw_size() + message.content().size());
68 }
std::unique_ptr< proto::ChunkBody > body_

◆ clear()

void apollo::cyber::record::Chunk::clear ( )
inline

在文件 record_file_writer.h45 行定义.

45 {
46 body_.reset(new proto::ChunkBody());
47 header_.set_begin_time(0);
48 header_.set_end_time(0);
49 header_.set_message_number(0);
50 header_.set_raw_size(0);
51 }

◆ empty()

bool apollo::cyber::record::Chunk::empty ( )
inline

在文件 record_file_writer.h70 行定义.

70{ return header_.message_number() == 0; }

类成员变量说明

◆ body_

std::unique_ptr<proto::ChunkBody> apollo::cyber::record::Chunk::body_ = nullptr

在文件 record_file_writer.h74 行定义.

◆ header_

proto::ChunkHeader apollo::cyber::record::Chunk::header_

在文件 record_file_writer.h73 行定义.

◆ mutex_

std::mutex apollo::cyber::record::Chunk::mutex_

在文件 record_file_writer.h72 行定义.


该结构体的文档由以下文件生成: