pub trait UpdateAvailabilityData<Types: NodeType> {
// Required method
fn append(
&self,
info: BlockInfo<Types>,
) -> impl Send + Future<Output = Result<()>>;
// Provided method
fn append_payload(
&self,
_block: BlockQueryData<Types>,
) -> impl Send + Future<Output = Result<()>> { ... }
}Required Methods§
Provided Methods§
Sourcefn append_payload(
&self,
_block: BlockQueryData<Types>,
) -> impl Send + Future<Output = Result<()>>
fn append_payload( &self, _block: BlockQueryData<Types>, ) -> impl Send + Future<Output = Result<()>>
Append a payload for a block whose leaf was already decided without one.
Decide events in the new protocol may arrive before VID reconstruction has produced the block payload. When the payload eventually becomes available the data source uses this method to fill it in, notifying any pending fetchers. Implementations that don’t track blocks (e.g. metrics-only) may leave the default no-op.
The block comes from a reconstruction event for a view that may never be decided, so implementations must verify that it matches the decided leaf at the same height before storing it.
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.