SideEffectPrefillSource

Trait SideEffectPrefillSource 

pub trait SideEffectPrefillSource: Send + Sync {
    // Required methods
    fn update_interest<'life0, 'async_trait>(
        &'life0 self,
        interest: SideEffectInterest,
    ) -> Pin<Box<dyn Future<Output = Result<InterestAck, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fetch_prefill_for_lyquid<'life0, 'async_trait>(
        &'life0 self,
        lyquid: LyquidID,
        from_exclusive: Option<CallOrderKey>,
        until_exclusive: ChainPos,
        limit: usize,
    ) -> Pin<Box<dyn Future<Output = Result<PrefillFetchBatch, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn resolve_call_output<'life0, 'async_trait>(
        &'life0 self,
        key: InterCallOutputKey,
    ) -> Pin<Box<dyn Future<Output = Result<Option<CallEventOutput>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided methods
    fn fetch_inbound_for_lyquid<'life0, 'async_trait>(
        &'life0 self,
        _lyquid: LyquidID,
        _from_exclusive: Option<CallOrderKey>,
        _until_exclusive: ChainPos,
        _limit: usize,
    ) -> Pin<Box<dyn Future<Output = Result<PrefillInboundBatch, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
    fn record_observed_inbound_inter_call<'life0, 'async_trait>(
        &'life0 self,
        _call: InboundInterCall,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
}

Required Methods§

fn update_interest<'life0, 'async_trait>( &'life0 self, interest: SideEffectInterest, ) -> Pin<Box<dyn Future<Output = Result<InterestAck, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

fn fetch_prefill_for_lyquid<'life0, 'async_trait>( &'life0 self, lyquid: LyquidID, from_exclusive: Option<CallOrderKey>, until_exclusive: ChainPos, limit: usize, ) -> Pin<Box<dyn Future<Output = Result<PrefillFetchBatch, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

fn resolve_call_output<'life0, 'async_trait>( &'life0 self, key: InterCallOutputKey, ) -> Pin<Box<dyn Future<Output = Result<Option<CallEventOutput>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Provided Methods§

fn fetch_inbound_for_lyquid<'life0, 'async_trait>( &'life0 self, _lyquid: LyquidID, _from_exclusive: Option<CallOrderKey>, _until_exclusive: ChainPos, _limit: usize, ) -> Pin<Box<dyn Future<Output = Result<PrefillInboundBatch, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

fn record_observed_inbound_inter_call<'life0, 'async_trait>( &'life0 self, _call: InboundInterCall, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Record one local inbound inter-call observed during execution.

Implementations can persist this metadata for later inbound backfill.

Implementors§