fanout.hpp
1 
6 #pragma once
7 
8 #include <rapidsmpf/streaming/core/actor.hpp>
9 #include <rapidsmpf/streaming/core/channel.hpp>
10 #include <rapidsmpf/streaming/core/context.hpp>
11 
13 
17 enum class FanoutPolicy : std::uint8_t {
25  BOUNDED,
26 
38  UNBOUNDED,
39 };
40 
61  std::shared_ptr<Context> ctx,
62  std::shared_ptr<Channel> ch_in,
63  std::vector<std::shared_ptr<Channel>> chs_out,
64  FanoutPolicy policy
65 );
66 
67 } // namespace rapidsmpf::streaming::actor
Actor fanout(std::shared_ptr< Context > ctx, std::shared_ptr< Channel > ch_in, std::vector< std::shared_ptr< Channel >> chs_out, FanoutPolicy policy)
Broadcast messages from one input channel to multiple output channels.
FanoutPolicy
Fanout policy controlling how messages are propagated.
Definition: fanout.hpp:17
@ UNBOUNDED
Forward messages without enforcing backpressure.
@ BOUNDED
Process messages as they arrive and immediately forward them.
coro::task< void > Actor
Alias for an actor in a streaming graph.
Definition: actor.hpp:18