Trait SubspaceGatewayRpcApiServer

Source
pub trait SubspaceGatewayRpcApiServer:
    Sized
    + Send
    + Sync
    + 'static {
    // Required method
    fn fetch_object<'life0, 'async_trait>(
        &'life0 self,
        mappings: GlobalObjectMapping,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<HexData>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description

Server trait implementation for the SubspaceGatewayRpcApi RPC API.

Required Methods§

Source

fn fetch_object<'life0, 'async_trait>( &'life0 self, mappings: GlobalObjectMapping, ) -> Pin<Box<dyn Future<Output = Result<Vec<HexData>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get object data from a DSN object mapping batch. Returns an error if any object fetch was unsuccessful.

For efficiency, objects in a batch should be sorted by increasing piece index. Objects with the same piece index should be sorted by increasing offset. This allows the last piece to be re-used for the next object in the batch.

Batches should be split if the gap between object piece indexes is 6 or more. Those objects can’t share any pieces, because a maximum-sized object only uses 6 pieces.

Provided Methods§

Source

fn into_rpc(self) -> RpcModule<Self>

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

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<PG> SubspaceGatewayRpcApiServer for SubspaceGatewayRpc<PG>
where PG: PieceGetter + Send + Sync + 'static,