pub(super) trait GlobalBarrierWorkerContext:
Send
+ Sync
+ 'static {
Show 15 methods
// Required methods
fn commit_epoch(
&self,
commit_info: CommitEpochInfo,
) -> impl Future<Output = MetaResult<HummockVersionStats>> + Send + '_;
async fn next_scheduled(&self) -> Scheduled;
fn abort_and_mark_blocked(
&self,
database_id: Option<DatabaseId>,
recovery_reason: RecoveryReason,
);
fn mark_ready(&self, options: MarkReadyOptions);
fn post_collect_command(
&self,
command: PostCollectCommand,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
async fn notify_creating_job_failed(
&self,
database_id: Option<DatabaseId>,
err: String,
);
fn finish_creating_job(
&self,
job: TrackingJob,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
fn finish_cdc_table_backfill(
&self,
job_id: JobId,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
fn new_control_stream<'a>(
&'a self,
node: &'a WorkerNode,
init_request: &'a PbInitRequest,
) -> impl Future<Output = MetaResult<StreamingControlHandle>> + Send + 'a;
async fn reload_runtime_info(
&self,
) -> MetaResult<BarrierWorkerRuntimeInfoSnapshot>;
async fn reload_database_runtime_info(
&self,
database_id: DatabaseId,
) -> MetaResult<DatabaseRuntimeInfoSnapshot>;
fn handle_list_finished_source_ids(
&self,
list_finished_source_ids: Vec<PbListFinishedSource>,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
fn handle_load_finished_source_ids(
&self,
load_finished_source_ids: Vec<PbLoadFinishedSource>,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
fn handle_refresh_finished_table_ids(
&self,
refresh_finished_table_job_ids: Vec<JobId>,
) -> impl Future<Output = MetaResult<()>> + Send + '_;
fn load_batch_refresh_trigger_context(
&self,
job_id: JobId,
database_id: DatabaseId,
last_committed_epoch: u64,
) -> impl Future<Output = MetaResult<BatchRefreshJobTriggerContext>> + Send + '_;
}Required Methods§
fn commit_epoch( &self, commit_info: CommitEpochInfo, ) -> impl Future<Output = MetaResult<HummockVersionStats>> + Send + '_
async fn next_scheduled(&self) -> Scheduled
fn abort_and_mark_blocked( &self, database_id: Option<DatabaseId>, recovery_reason: RecoveryReason, )
fn mark_ready(&self, options: MarkReadyOptions)
fn post_collect_command( &self, command: PostCollectCommand, ) -> impl Future<Output = MetaResult<()>> + Send + '_
async fn notify_creating_job_failed( &self, database_id: Option<DatabaseId>, err: String, )
fn finish_creating_job( &self, job: TrackingJob, ) -> impl Future<Output = MetaResult<()>> + Send + '_
fn finish_cdc_table_backfill( &self, job_id: JobId, ) -> impl Future<Output = MetaResult<()>> + Send + '_
fn new_control_stream<'a>( &'a self, node: &'a WorkerNode, init_request: &'a PbInitRequest, ) -> impl Future<Output = MetaResult<StreamingControlHandle>> + Send + 'a
async fn reload_runtime_info( &self, ) -> MetaResult<BarrierWorkerRuntimeInfoSnapshot>
async fn reload_database_runtime_info( &self, database_id: DatabaseId, ) -> MetaResult<DatabaseRuntimeInfoSnapshot>
fn handle_list_finished_source_ids( &self, list_finished_source_ids: Vec<PbListFinishedSource>, ) -> impl Future<Output = MetaResult<()>> + Send + '_
fn handle_load_finished_source_ids( &self, load_finished_source_ids: Vec<PbLoadFinishedSource>, ) -> impl Future<Output = MetaResult<()>> + Send + '_
fn handle_refresh_finished_table_ids( &self, refresh_finished_table_job_ids: Vec<JobId>, ) -> impl Future<Output = MetaResult<()>> + Send + '_
Sourcefn load_batch_refresh_trigger_context(
&self,
job_id: JobId,
database_id: DatabaseId,
last_committed_epoch: u64,
) -> impl Future<Output = MetaResult<BatchRefreshJobTriggerContext>> + Send + '_
fn load_batch_refresh_trigger_context( &self, job_id: JobId, database_id: DatabaseId, last_committed_epoch: u64, ) -> impl Future<Output = MetaResult<BatchRefreshJobTriggerContext>> + Send + '_
Load the trigger context for a batch refresh job: fragment metadata, job model, upstream log epochs, and target upstream epoch — all bundled in one struct.
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.