Apollo 10.0
自动驾驶开放平台
apollo::cyber::transport::PosixSegment类 参考

#include <posix_segment.h>

类 apollo::cyber::transport::PosixSegment 继承关系图:
apollo::cyber::transport::PosixSegment 的协作图:

Public 成员函数

 PosixSegment (uint64_t channel_id)
 
virtual ~PosixSegment ()
 
- Public 成员函数 继承自 apollo::cyber::transport::Segment
 Segment (uint64_t channel_id)
 
virtual ~Segment ()
 
bool AcquireBlockToWrite (std::size_t msg_size, WritableBlock *writable_block)
 
void ReleaseWrittenBlock (const WritableBlock &writable_block)
 
bool AcquireArenaBlockToWrite (std::size_t msg_size, WritableBlock *writable_block)
 
void ReleaseArenaWrittenBlock (const WritableBlock &writable_block)
 
bool AcquireBlockToRead (ReadableBlock *readable_block)
 
void ReleaseReadBlock (const ReadableBlock &readable_block)
 
bool AcquireArenaBlockToRead (ReadableBlock *readable_block)
 
void ReleaseArenaReadBlock (const ReadableBlock &readable_block)
 
bool InitOnly (uint64_t message_size)
 
void * GetManagedShm ()
 
bool LockBlockForWriteByIndex (uint64_t block_index)
 
bool ReleaseBlockForWriteByIndex (uint64_t block_index)
 
bool LockBlockForReadByIndex (uint64_t block_index)
 
bool ReleaseBlockForReadByIndex (uint64_t block_index)
 
bool LockArenaBlockForWriteByIndex (uint64_t block_index)
 
bool ReleaseArenaBlockForWriteByIndex (uint64_t block_index)
 
bool LockArenaBlockForReadByIndex (uint64_t block_index)
 
bool ReleaseArenaBlockForReadByIndex (uint64_t block_index)
 

静态 Public 成员函数

static const char * Type ()
 

额外继承的成员函数

- Protected 成员函数 继承自 apollo::cyber::transport::Segment
virtual bool Destroy ()
 
- Protected 属性 继承自 apollo::cyber::transport::Segment
bool init_
 
ShmConf conf_
 
uint64_t channel_id_
 
Statestate_
 
Blockblocks_
 
Blockarena_blocks_
 
void * managed_shm_
 
std::mutex block_buf_lock_
 
std::mutex arena_block_buf_lock_
 
std::unordered_map< uint32_t, uint8_t * > block_buf_addrs_
 
std::unordered_map< uint32_t, uint8_t * > arena_block_buf_addrs_
 

详细描述

在文件 posix_segment.h28 行定义.

构造及析构函数说明

◆ PosixSegment()

apollo::cyber::transport::PosixSegment::PosixSegment ( uint64_t  channel_id)
explicit

在文件 posix_segment.cc33 行定义.

33 : Segment(channel_id) {
34 shm_name_ = std::to_string(channel_id);
35}
Segment(uint64_t channel_id)
Definition segment.cc:27

◆ ~PosixSegment()

apollo::cyber::transport::PosixSegment::~PosixSegment ( )
virtual

在文件 posix_segment.cc37 行定义.

37{ Destroy(); }

成员函数说明

◆ Type()

static const char * apollo::cyber::transport::PosixSegment::Type ( )
inlinestatic

在文件 posix_segment.h33 行定义.

33{ return "posix"; }

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