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§
Sourcefn 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,
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§
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.