Trait PayloadServiceBuilder

Source
pub trait PayloadServiceBuilder<Node: FullNodeTypes, Pool: TransactionPool>: Send + Sized {
    // Required method
    fn spawn_payload_builder_service(
        self,
        ctx: &BuilderContext<Node>,
        pool: Pool,
    ) -> impl Future<Output = Result<PayloadBuilderHandle<<Node::Types as NodeTypesWithEngine>::Engine>>> + Send;
}
Expand description

A type that knows how to spawn the payload service.

Required Methods§

Source

fn spawn_payload_builder_service( self, ctx: &BuilderContext<Node>, pool: Pool, ) -> impl Future<Output = Result<PayloadBuilderHandle<<Node::Types as NodeTypesWithEngine>::Engine>>> + Send

Spawns the [PayloadBuilderService] and returns the handle to it for use by the engine.

We provide default implementation via [BasicPayloadJobGenerator] but it can be overridden for custom job orchestration logic,

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.

Implementors§

Source§

impl<Node, F, Fut, Pool> PayloadServiceBuilder<Node, Pool> for F
where Node: FullNodeTypes, Pool: TransactionPool, F: Fn(&BuilderContext<Node>, Pool) -> Fut + Send, Fut: Future<Output = Result<PayloadBuilderHandle<<Node::Types as NodeTypesWithEngine>::Engine>>> + Send,

Source§

impl<Node, Pool, PB> PayloadServiceBuilder<Node, Pool> for BasicPayloadServiceBuilder<PB>
where Node: FullNodeTypes, Pool: TransactionPool, PB: PayloadBuilderBuilder<Node, Pool>,