| RMVL 2.4.0 Robotic Manipulation and Vision Library

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

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

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

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

## Public 成员函数
| PipeServer (IOContext &io_context, std::string_view name)
| 在文件系统中创建新的命名管道并打开，销毁时自动移除该管道
AsyncReadAwaiter | read ()
| 从管道读取数据
PipeServer & | operator>> (std::string &)=delete
AsyncWriteAwaiter | write (std::string_view data)
| 向管道写入数据
PipeServer & | operator<< (std::string_view)=delete
Public 成员函数 继承自 rm::PipeServer
| 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 成员函数 继承自 rm::PipeServer
| PipeServer (std::string_view name, bool ov)
Protected 属性 继承自 rm::PipeServer
std::string | _name
| 命名管道名称
FileDescriptor | _fd {}
| 文件句柄

## 详细描述

异步命名管道服务端

## 构造及析构函数说明

## ◆ PipeServer()

rm::async::PipeServer::PipeServer | ( | IOContext & | io_context,
|  | std::string_view | name )

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

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

参数

  [in] | io_context | 异步 I/O 执行上下文
  [in] | name | 命名管道名称，Windows 下的命名管道名称为 \\.\pipe\\endiskip + name, Linux 下的命名管道名称为 /tmp/ + name，长度不超过 256 个字符

## 成员函数说明

## ◆ operator<<()

PipeServer & rm::async::PipeServer::operator<< | ( | std::string_view |  | ) |
| delete

函数调用图:

## ◆ operator>>()

PipeServer & rm::async::PipeServer::operator>> | ( | std::string & |  | ) |
| delete

函数调用图:

## ◆ read()

AsyncReadAwaiter rm::async::PipeServer::read | ( |  | ) |
| inline

从管道读取数据

返回
  读取到的数据，成功时返回非空字符串，失败时返回空字符串
  // 使用示例
  std::string str = co_await server.read();
  rm::str
  定义 str.hpp:19

## ◆ write()

AsyncWriteAwaiter rm::async::PipeServer::write | ( | std::string_view | data | ) |
| inline

向管道写入数据

参数

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

返回
  是否写入成功
  // 使用示例
  bool success = co_await server.write("Hello World!");