| RMVL 2.3.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 成员函数 | Protected 成员函数 | Protected 属性 | 所有成员列表
rm::PipeServer类 参考
数据 IO 与通信模块 » 进程间通信

命名管道服务端 更多...

`#include <rmvl/io/ipc.hpp>`

类 rm::PipeServer 继承关系图:
rm::PipeServer 的协作图:

## Public 成员函数
| PipeServer (const PipeServer &)=delete
| PipeServer (PipeServer &&)=default
PipeServer & | operator= (const PipeServer &)=delete
PipeServer & | operator= (PipeServer &&)=default
| ~PipeServer ()
| PipeServer (std::string_view name)
| 在文件系统中创建新的命名管道并打开，销毁时自动移除该管道
std::string | read () noexcept
| 从管道读取数据
PipeServer & | operator>> (std::string &data) noexcept
| 从管道读取数据
bool | write (std::string_view data) noexcept
| 向管道写入数据
PipeServer & | operator<< (std::string_view data) noexcept
| 向管道写入数据

## Protected 成员函数
| PipeServer (std::string_view name, bool ov)

## Protected 属性
std::string | _name
| 命名管道名称
FileDescriptor | _fd {}
| 文件句柄

## 详细描述

命名管道服务端

## 构造及析构函数说明

## ◆ PipeServer() [1/4]

rm::PipeServer::PipeServer | ( | const PipeServer & |  | ) |
| delete

Python:
| rm.PipeServer( | name | ) -> | <PipeServer object>

函数调用图:

## ◆ PipeServer() [2/4]

rm::PipeServer::PipeServer | ( | PipeServer && |  | ) |
| default

Python:
| rm.PipeServer( | name | ) -> | <PipeServer object>

函数调用图:

## ◆ ~PipeServer()

rm::PipeServer::~PipeServer | ( |  | ) |

## ◆ PipeServer() [3/4]

rm::PipeServer::PipeServer | ( | std::string_view | name | ) |
| inline

Python:
| rm.PipeServer( | name | ) -> | <PipeServer object>

在文件系统中创建新的命名管道并打开，销毁时自动移除该管道

注解
  - Windows 命名管道在构造时会等待客户端连接并阻塞，除非已有客户端连接

参数

  [in] | name | 命名管道名称，Windows 下的命名管道名称为 `\\.\pipe\` +`name`, Linux 下的命名管道名称为 `/tmp/` + `name`，长度不超过 256 个字符

函数调用图:

## ◆ PipeServer() [4/4]

rm::PipeServer::PipeServer | ( | std::string_view | name,
|  | bool | ov )
| protected

Python:
| rm.PipeServer( | name | ) -> | <PipeServer object>

## 成员函数说明

## ◆ operator<<()

PipeServer & rm::PipeServer::operator<< | ( | std::string_view | data | ) |
| inline noexcept

向管道写入数据

参数

  [in] | data | 待写入的数据

函数调用图:

## ◆ operator=() [1/2]

PipeServer & rm::PipeServer::operator= | ( | const PipeServer & |  | ) |
| delete

函数调用图:

## ◆ operator=() [2/2]

PipeServer & rm::PipeServer::operator= | ( | PipeServer && |  | ) |
| default

函数调用图:

## ◆ operator>>()

PipeServer & rm::PipeServer::operator>> | ( | std::string & | data | ) |
| inline noexcept

从管道读取数据

参数

  [out] | data | 读取到的数据

函数调用图:

## ◆ read()

std::string rm::PipeServer::read | ( |  | ) |
| noexcept

Python:
| rm.PipeServer.read( |  | ) -> | res, data

从管道读取数据

返回
  读取到的数据，成功时返回非空字符串，失败时返回空字符串

## ◆ write()

bool rm::PipeServer::write | ( | std::string_view | data | ) |
| noexcept

Python:
| rm.PipeServer.write( | data | ) -> | res

向管道写入数据

参数

  [in] | data | 待写入的数据

返回
  是否写入成功

## 类成员变量说明

## ◆ _fd

FileDescriptor rm::PipeServer::_fd {}
| protected

文件句柄

## ◆ _name

std::string rm::PipeServer::_name
| protected

命名管道名称

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

- rmvl/io/ipc.hpp