Logo
中文版
详情联系: neusar-support@reachauto.com
ara::internal::libadaptiveplatform::NamedInputPipe类 参考

读取管道数据的类 更多...

#include <named_input_pipe.h>

类 ara::internal::libadaptiveplatform::NamedInputPipe 继承关系图:
Inheritance graph
ara::internal::libadaptiveplatform::NamedInputPipe 的协作图:
Collaboration graph

Public 成员函数

 NamedInputPipe (const std::string &pathname, bool const blocking=true)
 NamedInputPipe的有参构造函数 更多...
 
 NamedInputPipe (NamedInputPipe &&other)
 NamedInputPipe的拷贝构造函数 更多...
 
 NamedInputPipe (const std::string &pathname, size_t const buffer_size, const bool blocking=true)
 NamedInputPipe的有参构造函数 更多...
 
virtual ~NamedInputPipe ()
 NamedInputPipe的析构函数 更多...
 
template<typename DestinationType >
bool Read (DestinationType &buffer, const int64_t timeout_ms=0)
 读取管道的数据 更多...
 
template<>
bool Read (std::string &buffer, const int64_t timeout_ms)
 Function Implementation 更多...
 
- Public 成员函数 继承自 ara::internal::libadaptiveplatform::NamedPipe
 NamedPipe ()=delete
 NamedPipe的默认构造函数 更多...
 
 NamedPipe (const NamedPipe &)=delete
 NamedPipe的拷贝构造函数 更多...
 
NamedPipeoperator= (NamedPipe &&)=delete
 NamedPipe的赋值构造函数 更多...
 
NamedPipeoperator= (const NamedPipe &)=delete
 NamedPipe的赋值构造函数 更多...
 
int32_t GetFd () const
 获取管道文件的文件句柄(文件描述符) 更多...
 
virtual ~NamedPipe ()
 NamedPipe的析构函数 更多...
 

Private 成员函数

void ReadBytes (size_t const max_bytes, const int64_t timeout_ms=-1)
 按字节读取 更多...
 
void PopBytes (size_t const num_bytes)
 删除缓冲区逗留的无效数据 更多...
 

Private 属性

std::vector< char > buffer_
 读取管道数据的临时缓冲区 @uptrace{N/A} 更多...
 
size_t bytes_in_buffer_
 临时缓冲区的数据大小 @uptrace{N/A} 更多...
 
bool blocking_
 管道句柄是否阻塞的标记 @uptrace{N/A} 更多...
 

额外继承的成员函数

- Protected 类型 继承自 ara::internal::libadaptiveplatform::NamedPipe
enum  Direction
 管道文件的打开方式 @uptrace{N/A} 更多...
 
- Protected 成员函数 继承自 ara::internal::libadaptiveplatform::NamedPipe
 NamedPipe (const std::string &pathname, const Direction direction, const bool blocking=true)
 NamedPipe的有参构造函数 更多...
 
 NamedPipe (NamedPipe &&other)
 NamedPipe的赋值构造函数 更多...
 
- 静态 Protected 属性 继承自 ara::internal::libadaptiveplatform::NamedPipe
static const int32_t kInvalidFd {-1}
 未打开的管道文件的句柄无效标记 @uptrace{N/A} 更多...
 

详细描述

读取管道数据的类

Swsid
N/A
符合标准
no
非标原因
N/A
种类
class
符号
NamedInputPipe
范围
namespace ara::internal::libadaptiveplatform
基类
NamedPipe
分类
ara
头文件
ara/exec/named_input_pipe.h
注解
N/A
模板参数
N/A@uptrace{SWS_EM_02030,SWS_EM_02211,SWS_EM_02275}

在文件 第 行定义.

构造及析构函数说明

◆ NamedInputPipe() [1/3]

ara::internal::libadaptiveplatform::NamedInputPipe::NamedInputPipe ( const std::string &  pathname,
bool const  blocking = true 
)
inline

NamedInputPipe的有参构造函数

模板参数
N/A
参数
[in][pathname]:[管道路径]
[in][blocking]:[是否阻塞]
[out]N/A
[in/out]N/A
返回
N/A
注解
N/A
异常
OpenPipeException
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
public
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
no
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

◆ NamedInputPipe() [2/3]

ara::internal::libadaptiveplatform::NamedInputPipe::NamedInputPipe ( NamedInputPipe &&  other)

NamedInputPipe的拷贝构造函数

Function Implementation

模板参数
N/A
参数
[in]other:NamedInputPipe源对象
[out]N/A
[in/out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
public
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

◆ NamedInputPipe() [3/3]

ara::internal::libadaptiveplatform::NamedInputPipe::NamedInputPipe ( const std::string &  pathname,
size_t const  buffer_size,
const bool  blocking = true 
)
inline

NamedInputPipe的有参构造函数

模板参数
N/A
参数
[in][pathname]:[管道路径]
[in][buffer_size]:[传输数据大小]
[in][blocking]:[是否阻塞]
[out]N/A
[in/out]N/A
返回
N/A
注解
N/A
异常
OpenPipeException
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
public
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
no
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

◆ ~NamedInputPipe()

virtual ara::internal::libadaptiveplatform::NamedInputPipe::~NamedInputPipe ( )
inlinevirtual

NamedInputPipe的析构函数

模板参数
N/A
参数
[in]N/A
[out]N/A
[in/out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
public
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

成员函数说明

◆ PopBytes()

void ara::internal::libadaptiveplatform::NamedInputPipe::PopBytes ( size_t const  num_bytes)
private

删除缓冲区逗留的无效数据

Function Implementation

模板参数
N/A
参数
[in]num_bytes:需删除的数据
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
private
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

引用了 , 以及 .

被这些函数引用 .

这是这个函数的调用关系图:

◆ Read() [1/2]

template<typename DestinationType >
bool ara::internal::libadaptiveplatform::NamedInputPipe::Read ( DestinationType &  buffer,
const int64_t  timeout_ms = 0 
)

读取管道的数据

读取管道数据为string的特化

模板参数
N/A
参数
[in][param]:[description]
[out]N/A
[in/out]buffer 用于保存读取数据的缓冲区
返回
bool:如果读取数据正常返回true, 否则返回false
注解
N/A
异常
OpenPipeException,ErrnoException
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
public
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
no
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe
模板参数
N/A
参数
[in]buffer:读取的数据
[out]N/A
[in,out]N/A
返回
bool:读取完成返回true,否则返回false
注解
N/A
异常
SelectException,TimeoutException,ErrnoException
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
N/A
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
no
分类
ara @uptrace{SWS_EM_02030,SWS_EM_02211,SWS_EM_02275}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

引用了 , , , 以及 .

函数调用图:

◆ Read() [2/2]

template<>
bool ara::internal::libadaptiveplatform::NamedInputPipe::Read ( std::string &  buffer,
const int64_t  timeout_ms 
)

Function Implementation

在文件 第 行定义.

◆ ReadBytes()

void ara::internal::libadaptiveplatform::NamedInputPipe::ReadBytes ( size_t const  max_bytes,
const int64_t  timeout_ms = -1 
)
private

按字节读取

Function Implementation

模板参数
N/A
参数
[in]max_bytes:需要读取的字节数
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
异常
SelectException,TimeoutException,ErrnoException
Swsid
N/A
符合标准
no
非标原因
N/A
种类
function
可见
private
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
no
分类
ara @uptrace{N/A}
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

引用了 , , , , 以及 .

被这些函数引用 .

函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ blocking_

bool ara::internal::libadaptiveplatform::NamedInputPipe::blocking_
private

管道句柄是否阻塞的标记 @uptrace{N/A}

Swsid
N/A
符合标准
yes
非标原因
N/A
种类
variable
可见
private
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

被这些函数引用 .

◆ buffer_

std::vector<char> ara::internal::libadaptiveplatform::NamedInputPipe::buffer_
private

读取管道数据的临时缓冲区 @uptrace{N/A}

Swsid
N/A
符合标准
yes
非标原因
N/A
种类
variable
可见
private
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

被这些函数引用 , , 以及 .

◆ bytes_in_buffer_

size_t ara::internal::libadaptiveplatform::NamedInputPipe::bytes_in_buffer_
private

临时缓冲区的数据大小 @uptrace{N/A}

Swsid
N/A
符合标准
yes
非标原因
N/A
种类
variable
可见
private
线程安全
N/A
Fireandforget
N/A
错误
N/A
头文件
ara/exec/named_input_pipe.h
异常安全
noexcept
分类
ara
范围
namespace ara::internal::libadaptiveplatform::NamedInputPipe

在文件 第 行定义.

被这些函数引用 , , 以及 .