我正在尝试实现具有以下属性的进程范围“事件流”:
我正在使用Boost :: asio,因此线程实际上不是问题,所有这些都可以/将在同一个线程上发生。
主要的一点是,当一个字符串被写入流时,我希望所有读者都能读取整个流(而不仅仅是他们碰巧抓到的那些)。
图表可能如此:
W1 writes "ABCD"
R1 reads "ABCD"
W1 writes "EFGH"
R2 reads "ABCDEFGH"
W1 write "."
R1 reads "EFGH."
R2 reads "."
Common Lisp在#'make-broadcast-stream中有这个确切的习惯用法。我试图不重新发明轮子并一直在研究boost :: iostreams,但我不确定这正是我需要的。
关于:
的任何想法