1#![allow(dead_code)]
18#![warn(clippy::too_many_lines)]
19
20mod adapter;
25pub(crate) mod batching_mode;
26mod df_optimizer;
27pub(crate) mod engine;
28pub mod error;
29mod expr;
30pub mod heartbeat;
31mod metrics;
32mod repr;
33mod server;
34mod utils;
35
36#[cfg(test)]
37mod test_utils;
38
39pub use adapter::flownode_impl::FlowDualEngineRef;
40pub use adapter::{FlowConfig, FlowStreamingEngineRef, StreamingEngine};
41pub use batching_mode::BatchingModeOptions;
42pub use batching_mode::batching_execution::{BatchingExecution, BatchingExecutionFactory};
43pub use batching_mode::frontend_client::{
44 FrontendClient, GrpcQueryHandlerWithBoxedError, PeerDesc,
45};
46pub use batching_mode::task::{
47 BatchingExecutionGuard, BatchingTask, DirtyRestore, ExecuteOnceOutcome, PlanInfo,
48 QueryCoverage, TaskArgs,
49};
50pub use batching_mode::time_window::{TimeWindowExpr, find_time_window_expr};
51pub use batching_mode::utils::{
52 IncrementalAggregateAnalysis, IncrementalAggregateMergeColumn, IncrementalAggregateMergeOp,
53 analyze_incremental_aggregate_plan, sql_to_df_plan,
54};
55pub(crate) use engine::{CreateFlowArgs, FlowId, TableName};
56pub use error::{Error, Result};
57pub use server::{FlownodeBuilder, FlownodeInstance, FlownodeServer, FlownodeServiceBuilder};
58
59pub use crate::adapter::FlownodeOptions;