cpp-ipc icon indicating copy to clipboard operation
cpp-ipc copied to clipboard

C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows.

Results 69 cpp-ipc issues
Sort by recently updated
recently updated
newest added

Current implementation may not compile due to shm_data being non-copyable. The only proper std::pair constructor is number 9 https://en.cppreference.com/w/cpp/utility/pair/pair

有两个问题想请教下各位: 1) 有没有一种模式适合client和server端的交互呢? 例如,client发送一个"hello" , 可以返回一个hello。也就是返回值是经过server端处理后的值。 从demo的例子看,client端的send和recv是两个独立channel, 那发送的消息和接受到的是不是没办法一一对应呢? ```c++ auto& msg = sent("hello"); std::count

测试系统:Ubuntu 20.04 测试代码:demo/msg_que/main.cpp(修改msg_que_t 为std::shared_ptr) 具体代码: ``` #include #include #include #include #include #include #include #include "libipc/ipc.h" #include "capo/random.hpp" namespace { constexpr char const name__ [] = "ipc-msg-que"; constexpr char const mode_s__[]...

chan_wrapper::send()可以考虑增加sendv()接口,类似Linux的writev(),当一次发送多片离散数据时,可以少一次内存拼接拷贝。

与issue #100 存在的问题类似,在将使用sender和receiver的进程强制关闭后,再次唤起进程,会出现共享内存的乱码与报错,请问如果想解决该问题,应该从哪些文件下手进行修改优化?感谢

您好,看了您demo里面send_recv的例子 发现ipc::channel的通信里面,发送者和接收者都是while(is_quit.load)这种形式 这样的话,应该会100%打满一个cpu吧,有非阻塞的模式吗? 另外,这个例子里面,似乎两个线程需要公用一个is_quit变量,这样的话是不是只适合线程间通信 如果单纯的进程间通信,可以做到,写者和读者互不感知,且读者以最快速度读取,并且读者非阻塞吗

大佬你好~,ipc::sender为何不提供类似loan的接口,很多情况下可以减少一次拷贝: 就比如protobuf的序列化,通过调用SerializeToArray,直接把buffer指定到共享内存块上,这样可以省去一次从用户的内存搬运到共享内存的过程

Why is this project so advanced yet so poorly documented?

**single-multi broadcast** 模式,[push function](https://github.com/mutouyun/cpp-ipc/blob/master/src/libipc/prod_cons.h#L219)我的理解是:使用 **epoch_** 以及 **rem_cc**来检查当前生产的元素是否被消费者们消费完毕,请问这样理解对吗,还有请问使用 **epoch_** 来实现的逻辑该怎么理解呢? 同时我对以下代码感到疑惑 ``` if ((cc & rem_cc) && ((cur_rc & ~ep_mask) == epoch_)) { return false; // has not finished yet }...

I'd like to know why macOS is not supported here. Are there any technical reasons?