pub trait FarmerRpcApiServer:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn get_farmer_app_info(&self) -> Result<FarmerAppInfo, Error>;
fn submit_solution_response(
&self,
solution_response: SolutionResponse,
) -> Result<(), Error>;
fn submit_block_seal(
&self,
block_seal: BlockSealResponse,
) -> Result<(), Error>;
fn segment_headers<'life0, 'async_trait>(
&'life0 self,
segment_indices: Vec<SegmentIndex>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<SegmentHeader>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn piece(&self, piece_index: PieceIndex) -> Result<Option<Piece>, Error>;
fn acknowledge_archived_segment_header<'life0, 'async_trait>(
&'life0 self,
segment_index: SegmentIndex,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn last_segment_headers<'life0, 'async_trait>(
&'life0 self,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<SegmentHeader>>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self,
subscription_sink: PendingSubscriptionSink,
) -> Pin<Box<dyn Future<Output = SubscriptionResult> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_block_seal<'life0, 'async_trait>(
&'life0 self,
subscription_sink: PendingSubscriptionSink,
) -> Pin<Box<dyn Future<Output = SubscriptionResult> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_archived_segment_header<'life0, 'async_trait>(
&'life0 self,
subscription_sink: PendingSubscriptionSink,
) -> Pin<Box<dyn Future<Output = SubscriptionResult> + 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 FarmerRpcApi RPC API.
Required Methods§
Sourcefn get_farmer_app_info(&self) -> Result<FarmerAppInfo, Error>
fn get_farmer_app_info(&self) -> Result<FarmerAppInfo, Error>
Get metadata necessary for farmer operation
fn submit_solution_response( &self, solution_response: SolutionResponse, ) -> Result<(), Error>
fn submit_block_seal(&self, block_seal: BlockSealResponse) -> Result<(), Error>
fn segment_headers<'life0, 'async_trait>(
&'life0 self,
segment_indices: Vec<SegmentIndex>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<SegmentHeader>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn piece(&self, piece_index: PieceIndex) -> Result<Option<Piece>, Error>
fn acknowledge_archived_segment_header<'life0, 'async_trait>(
&'life0 self,
segment_index: SegmentIndex,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn last_segment_headers<'life0, 'async_trait>(
&'life0 self,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<SegmentHeader>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self,
subscription_sink: PendingSubscriptionSink,
) -> Pin<Box<dyn Future<Output = SubscriptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_slot_info<'life0, 'async_trait>(
&'life0 self,
subscription_sink: PendingSubscriptionSink,
) -> Pin<Box<dyn Future<Output = SubscriptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Slot info subscription
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.