pub struct DistRuntime {
pub node_id: NodeId,
pub status: Arc<Mutex<NodeStatus>>,
pub task_ctx: Arc<TaskContext>,
pub config: Arc<DistConfig>,
pub cluster: Arc<dyn DistCluster>,
pub network: Arc<dyn DistNetwork>,
pub planner: Arc<dyn DistPlanner>,
pub scheduler: Arc<dyn DistScheduler>,
pub executor: Arc<dyn DistExecutor>,
pub heartbeater: Arc<Heartbeater>,
pub stages: Arc<Mutex<HashMap<StageId, StageState>>>,
pub event_sender: Sender<Event>,
}Fields§
§node_id: NodeId§status: Arc<Mutex<NodeStatus>>§task_ctx: Arc<TaskContext>§config: Arc<DistConfig>§cluster: Arc<dyn DistCluster>§network: Arc<dyn DistNetwork>§planner: Arc<dyn DistPlanner>§scheduler: Arc<dyn DistScheduler>§executor: Arc<dyn DistExecutor>§heartbeater: Arc<Heartbeater>§stages: Arc<Mutex<HashMap<StageId, StageState>>>§event_sender: Sender<Event>Implementations§
Source§impl DistRuntime
impl DistRuntime
pub fn new( task_ctx: Arc<TaskContext>, config: Arc<DistConfig>, cluster: Arc<dyn DistCluster>, network: Arc<dyn DistNetwork>, ) -> Self
pub fn with_planner(self, planner: Arc<dyn DistPlanner>) -> Self
pub fn with_scheduler(self, scheduler: Arc<dyn DistScheduler>) -> Self
pub fn with_executor(self, executor: Arc<dyn DistExecutor>) -> Self
pub async fn start(&self)
pub async fn shutdown(&self)
pub async fn submit( &self, plan: Arc<dyn ExecutionPlan>, ) -> DistResult<(Uuid, HashMap<TaskId, NodeId>)>
pub async fn execute_local( &self, task_id: TaskId, ) -> DistResult<RecordBatchStream>
pub async fn execute_remote( &self, node_id: NodeId, task_id: TaskId, ) -> DistResult<RecordBatchStream>
pub async fn receive_tasks( &self, scheduled_tasks: ScheduledTasks, ) -> DistResult<()>
pub fn cleanup_local_job(&self, job_id: Uuid)
pub async fn cleanup_job(&self, job_id: Uuid) -> DistResult<()>
pub fn get_local_job(&self, job_id: Uuid) -> HashMap<StageId, StageInfo>
pub fn get_local_jobs(&self) -> HashMap<Uuid, HashMap<StageId, StageInfo>>
pub async fn get_all_jobs( &self, ) -> DistResult<HashMap<Uuid, HashMap<StageId, StageInfo>>>
Trait Implementations§
Source§impl Clone for DistRuntime
impl Clone for DistRuntime
Source§fn clone(&self) -> DistRuntime
fn clone(&self) -> DistRuntime
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DistRuntime
impl !RefUnwindSafe for DistRuntime
impl Send for DistRuntime
impl Sync for DistRuntime
impl Unpin for DistRuntime
impl !UnwindSafe for DistRuntime
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more