pub struct SynchronizeTask {
pub client: Arc<EngineClient>,
pub rollup: Arc<RollupConfig>,
pub state_update: EngineSyncStateUpdate,
}Expand description
Internal task for execution layer forkchoice synchronization.
The SynchronizeTask performs engine_forkchoiceUpdated calls to synchronize
the execution layer’s forkchoice state with the rollup node’s view. This task
operates without payload attributes and is primarily used internally by other
engine tasks rather than being directly enqueued by users.
§Usage Patterns
- Internal Synchronization: Called by
InsertTask,ConsolidateTask, andFinalizeTask - Engine Reset: Used during engine resets to establish initial forkchoice state
- Safe Head Updates: Synchronizes safe and finalized head changes
§Automatic Integration
Unlike the legacy ForkchoiceTask, forkchoice updates during block building are now
handled automatically within BuildTask, eliminating the need for explicit
forkchoice management in most user scenarios.
Fields§
§client: Arc<EngineClient>The engine client.
rollup: Arc<RollupConfig>The rollup config.
state_update: EngineSyncStateUpdateThe sync state update to apply to the engine state.
Implementations§
Source§impl SynchronizeTask
impl SynchronizeTask
Sourcepub const fn new(
client: Arc<EngineClient>,
rollup: Arc<RollupConfig>,
state_update: EngineSyncStateUpdate,
) -> Self
pub const fn new( client: Arc<EngineClient>, rollup: Arc<RollupConfig>, state_update: EngineSyncStateUpdate, ) -> Self
Creates a new SynchronizeTask.
Trait Implementations§
Source§impl Clone for SynchronizeTask
impl Clone for SynchronizeTask
Source§fn clone(&self) -> SynchronizeTask
fn clone(&self) -> SynchronizeTask
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 moreSource§impl Debug for SynchronizeTask
impl Debug for SynchronizeTask
Source§impl EngineTaskExt for SynchronizeTask
impl EngineTaskExt for SynchronizeTask
Source§type Error = SynchronizeTaskError
type Error = SynchronizeTaskError
The error type of the task.
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
state: &'life1 mut EngineState,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, SynchronizeTaskError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
state: &'life1 mut EngineState,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, SynchronizeTaskError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the task, taking a shared lock on the engine state and
self.Auto Trait Implementations§
impl Freeze for SynchronizeTask
impl !RefUnwindSafe for SynchronizeTask
impl Send for SynchronizeTask
impl Sync for SynchronizeTask
impl Unpin for SynchronizeTask
impl !UnwindSafe for SynchronizeTask
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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