risingwave_stream/from_proto/
no_op.rs1use risingwave_pb::stream_plan::NoOpNode;
16use risingwave_storage::StateStore;
17
18use super::ExecutorBuilder;
19use crate::error::StreamResult;
20use crate::executor::{Executor, NoOpExecutor};
21use crate::task::ExecutorParams;
22
23pub struct NoOpExecutorBuilder;
24
25impl_stream_node_body!(NoOp(NoOpNode) => NoOpExecutorBuilder);
26
27impl ExecutorBuilder for NoOpExecutorBuilder {
28 type Node = NoOpNode;
29
30 async fn new_boxed_executor(
31 params: ExecutorParams,
32 _node: &NoOpNode,
33 _store: impl StateStore,
34 ) -> StreamResult<Executor> {
35 let [input]: [_; 1] = params.input.try_into().unwrap();
36 Ok((params.info, NoOpExecutor::new(params.actor_context, input)).into())
37 }
38}