pub trait PlanExecutor:
Send
+ Sync
+ 'static {
// Required method
fn execute_plan(
&self,
req: ExecuteRequest,
) -> impl Future<Output = ExecuteResponse> + Send;
}Expand description
Trait for executing a pre-planned PhysicalPlan on the local Data Plane.
Implemented in nodedb/src/control/exec_receiver.rs by LocalPlanExecutor.
The cluster RPC handler calls this when it receives an ExecuteRequest.
Responsibilities:
- Validate that
deadline_remaining_ms > 0. - For each
DescriptorVersionEntry, verify the local descriptor version matches. - Decode
plan_bytesvianodedb::bridge::physical_plan::wire::decode. - Dispatch through the local SPSC bridge.
- Collect response payloads.
- Map errors to
TypedClusterError.
Required Methods§
fn execute_plan( &self, req: ExecuteRequest, ) -> impl Future<Output = ExecuteResponse> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.