是否有可能有类似 a 的东西limiter_node<T>
来保护队列不溢出,而不是丢弃不适合队列的消息,而是将它们转发到其他节点?我想要类似的东西
typedef std::string S;
using namespace tbb::flow;
source_node<S> input(g, Input(), false);
limiter_node<S> limiter(g, queue_len);
function_node<S, S> processor(g, threadpool_size, Processor());
function_node<S, int> output(g, serial, Output());
make_edge(input, limiter);
make_edge(limiter, processor);
make_edge(limiter.magic_forwarder_of_failed_deliveries_thank_you, output); // ???
make_edge(processor, output);
make_edge(output, limiter.decrement);
基本上,我想用大量阻塞 IO 绑定的“节点”处理尽可能多的数据,并将其余的直接转发到未处理的输出节点。