Apollo 10.0
自动驾驶开放平台
apollo::cyber::record::RecordFileBase类 参考abstract

#include <record_file_base.h>

类 apollo::cyber::record::RecordFileBase 继承关系图:
apollo::cyber::record::RecordFileBase 的协作图:

Public 成员函数

 RecordFileBase ()=default
 
virtual ~RecordFileBase ()=default
 
virtual bool Open (const std::string &path)=0
 
virtual void Close ()=0
 
const std::string & GetPath () const
 
const proto::HeaderGetHeader () const
 
const proto::IndexGetIndex () const
 
int64_t CurrentPosition ()
 
bool SetPosition (int64_t position)
 

Protected 属性

std::mutex mutex_
 
std::string path_
 
proto::Header header_
 
proto::Index index_
 
int fd_ = -1
 

详细描述

在文件 record_file_base.h31 行定义.

构造及析构函数说明

◆ RecordFileBase()

apollo::cyber::record::RecordFileBase::RecordFileBase ( )
default

◆ ~RecordFileBase()

virtual apollo::cyber::record::RecordFileBase::~RecordFileBase ( )
virtualdefault

成员函数说明

◆ Close()

virtual void apollo::cyber::record::RecordFileBase::Close ( )
pure virtual

◆ CurrentPosition()

int64_t apollo::cyber::record::RecordFileBase::CurrentPosition ( )

在文件 record_file_base.cc28 行定义.

28 {
29 off_t pos = lseek(fd_, 0, SEEK_CUR);
30 if (pos < 0) {
31 AERROR << "lseek failed, file: " << path_ << ", fd: " << fd_
32 << ", offset: 0, whence: SEEK_CUR"
33 << ", position: " << pos << ", errno: " << errno;
34 }
35 return pos;
36}
#define AERROR
Definition log.h:44

◆ GetHeader()

const proto::Header & apollo::cyber::record::RecordFileBase::GetHeader ( ) const
inline

在文件 record_file_base.h38 行定义.

◆ GetIndex()

const proto::Index & apollo::cyber::record::RecordFileBase::GetIndex ( ) const
inline

在文件 record_file_base.h39 行定义.

◆ GetPath()

const std::string & apollo::cyber::record::RecordFileBase::GetPath ( ) const
inline

在文件 record_file_base.h37 行定义.

37{ return path_; }

◆ Open()

virtual bool apollo::cyber::record::RecordFileBase::Open ( const std::string &  path)
pure virtual

◆ SetPosition()

bool apollo::cyber::record::RecordFileBase::SetPosition ( int64_t  position)

在文件 record_file_base.cc38 行定义.

38 {
39 off_t pos = lseek(fd_, position, SEEK_SET);
40 if (pos < 0) {
41 AERROR << "lseek failed, file: " << path_ << ", fd: " << fd_
42 << ", offset: 0, whence: SEEK_SET"
43 << ", position: " << pos << ", errno: " << errno;
44 return false;
45 }
46 return true;
47}

类成员变量说明

◆ fd_

int apollo::cyber::record::RecordFileBase::fd_ = -1
protected

在文件 record_file_base.h48 行定义.

◆ header_

proto::Header apollo::cyber::record::RecordFileBase::header_
protected

在文件 record_file_base.h46 行定义.

◆ index_

proto::Index apollo::cyber::record::RecordFileBase::index_
protected

在文件 record_file_base.h47 行定义.

◆ mutex_

std::mutex apollo::cyber::record::RecordFileBase::mutex_
protected

在文件 record_file_base.h44 行定义.

◆ path_

std::string apollo::cyber::record::RecordFileBase::path_
protected

在文件 record_file_base.h45 行定义.


该类的文档由以下文件生成: