-
Notifications
You must be signed in to change notification settings - Fork 385
ipc.h
mutouyun edited this page Dec 9, 2025
·
1 revision
#include "libipc/ipc.h"
IPC库的主头文件,包含了IPC通讯的核心类和函数。
-
ipc::route- 单写多读IPC路由 -
ipc::channel- 多写多读IPC通道 -
ipc::buffer- 数据缓冲区 -
ipc::chan<Rp, Rc, Ts>- 自定义策略的IPC通道模板
using handle_t = void*; // IPC句柄类型
using buff_t = buffer; // buffer别名enum : unsigned {
sender, // 发送者模式
receiver // 接收者模式
};#include "libipc/ipc.h"
// 创建route(单写多读)
ipc::route producer{"my-route"}; // 发送者
ipc::route consumer{"my-route", ipc::receiver}; // 接收者
// 发送数据
producer.send("Hello, IPC!");
// 接收数据
auto buf = consumer.recv();using route = chan<relat::single, relat::multi, trans::broadcast>;单写多读广播路由。
using channel = chan<relat::multi, relat::multi, trans::broadcast>;多写多读广播通道。
// 定义工作队列(多写多读单播)
using work_queue = ipc::chan<ipc::relat::multi, ipc::relat::multi, ipc::trans::unicast>;
work_queue wq{"task_queue"};
wq.send("Task 1"); // 只有一个接收者会收到