pub trait ControllerService:
Send
+ Sync
+ 'static {
Show 43 methods
// Required methods
fn get_controller_server_list<'life0, 'async_trait>(
&'life0 self,
request: Request<ServerRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ServerResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateStreamStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn truncate_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamCut>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn seal_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteStreamStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_current_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentRanges>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_epoch_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<GetEpochSegmentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentRanges>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSegmentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentsAtTime>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_segments_immediatly_following<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<SuccessorResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_segments_immediately_following<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<SuccessorResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_segments_between<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamCutRange>,
) -> Pin<Box<dyn Future<Output = Result<Response<StreamCutRangeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn scale<'life0, 'async_trait>(
&'life0 self,
request: Request<ScaleRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ScaleResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn check_scale<'life0, 'async_trait>(
&'life0 self,
request: Request<ScaleStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ScaleStatusResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_uri<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<NodeUri>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn is_segment_valid<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentValidityResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn is_stream_cut_valid<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamCut>,
) -> Pin<Box<dyn Future<Output = Result<Response<StreamCutValidityResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateTxnRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateTxnResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn commit_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<TxnRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxnStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn abort_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<TxnRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxnStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn ping_transaction<'life0, 'async_trait>(
&'life0 self,
request: Request<PingTxnRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<PingTxnStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn check_transaction_state<'life0, 'async_trait>(
&'life0 self,
request: Request<TxnRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TxnState>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_scope<'life0, 'async_trait>(
&'life0 self,
request: Request<ScopeInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateScopeStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_scopes<'life0, 'async_trait>(
&'life0 self,
request: Request<ScopesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ScopesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn check_scope_exists<'life0, 'async_trait>(
&'life0 self,
request: Request<ScopeInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExistsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn check_stream_exists<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<ExistsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_streams_in_scope<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamsInScopeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StreamsInScopeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_scope<'life0, 'async_trait>(
&'life0 self,
request: Request<ScopeInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteScopeStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_delegation_token<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DelegationToken>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn remove_writer<'life0, 'async_trait>(
&'life0 self,
request: Request<RemoveWriterRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RemoveWriterResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn note_timestamp_from_writer<'life0, 'async_trait>(
&'life0 self,
request: Request<TimestampFromWriter>,
) -> Pin<Box<dyn Future<Output = Result<Response<TimestampResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_key_value_table<'life0, 'async_trait>(
&'life0 self,
request: Request<KeyValueTableConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateKeyValueTableStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_current_segments_key_value_table<'life0, 'async_trait>(
&'life0 self,
request: Request<KeyValueTableInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentRanges>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_key_value_tables_in_scope<'life0, 'async_trait>(
&'life0 self,
request: Request<KvTablesInScopeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<KvTablesInScopeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_key_value_table<'life0, 'async_trait>(
&'life0 self,
request: Request<KeyValueTableInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteKvTableStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_subscribers<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<SubscribersResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_subscriber_stream_cut<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscriberStreamCut>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateSubscriberStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_reader_group<'life0, 'async_trait>(
&'life0 self,
request: Request<ReaderGroupConfiguration>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateReaderGroupResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_reader_group_config<'life0, 'async_trait>(
&'life0 self,
request: Request<ReaderGroupInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<ReaderGroupConfigResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_reader_group<'life0, 'async_trait>(
&'life0 self,
request: Request<ReaderGroupInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteReaderGroupStatus>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_reader_group<'life0, 'async_trait>(
&'life0 self,
request: Request<ReaderGroupConfiguration>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateReaderGroupResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_stream_configuration<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<StreamConfig>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_streams_in_scope_for_tag<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamsInScopeWithTagRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StreamsInScopeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Generated trait containing gRPC methods that should be implemented for use with ControllerServiceServer.
Required Methodsยง
fn get_controller_server_list<'life0, 'async_trait>(
&'life0 self,
request: Request<ServerRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ServerResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateStreamStatus>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamConfig>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn truncate_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamCut>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn seal_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateStreamStatus>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_stream<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteStreamStatus>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_current_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<StreamInfo>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentRanges>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_epoch_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<GetEpochSegmentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentRanges>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_segments<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSegmentsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SegmentsAtTime>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn get_segments_immediatly_following<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<SuccessorResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_segments_immediatly_following<'life0, 'async_trait>(
&'life0 self,
request: Request<SegmentId>,
) -> Pin<Box<dyn Future<Output = Result<Response<SuccessorResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deprecated RPC: https://github.com/pravega/pravega/issues/3760