pub struct ControlServer { /* private fields */ }Expand description
Control server that routes all commands through the PodRuntime’s command channel. This ensures correct replicator/event ordering (e.g., replicator setup before user notification on promotion).
Implementations§
Source§impl ControlServer
impl ControlServer
pub fn new(replica_id: i64, cmd_tx: Sender<RuntimeCommand>) -> Self
Trait Implementations§
Source§impl ReplicatorControl for ControlServer
impl ReplicatorControl for ControlServer
fn open<'life0, 'async_trait>(
&'life0 self,
req: Request<OpenRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<OpenResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
_req: Request<CloseRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CloseResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn change_role<'life0, 'async_trait>(
&'life0 self,
req: Request<ChangeRoleRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ChangeRoleResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_epoch<'life0, 'async_trait>(
&'life0 self,
req: Request<UpdateEpochRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateEpochResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_status<'life0, 'async_trait>(
&'life0 self,
_req: Request<GetStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetStatusResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_catch_up_configuration<'life0, 'async_trait>(
&'life0 self,
req: Request<UpdateCatchUpConfigRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateCatchUpConfigResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_current_configuration<'life0, 'async_trait>(
&'life0 self,
req: Request<UpdateCurrentConfigRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<UpdateCurrentConfigResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn wait_for_catch_up_quorum<'life0, 'async_trait>(
&'life0 self,
req: Request<WaitForCatchUpQuorumRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<WaitForCatchUpQuorumResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn build_replica<'life0, 'async_trait>(
&'life0 self,
req: Request<BuildReplicaRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<BuildReplicaResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_replica<'life0, 'async_trait>(
&'life0 self,
req: Request<RemoveReplicaRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RemoveReplicaResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn on_data_loss<'life0, 'async_trait>(
&'life0 self,
_req: Request<OnDataLossRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<OnDataLossResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn revoke_write_status<'life0, 'async_trait>(
&'life0 self,
_req: Request<RevokeWriteStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<RevokeWriteStatusResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl Freeze for ControlServer
impl RefUnwindSafe for ControlServer
impl Send for ControlServer
impl Sync for ControlServer
impl Unpin for ControlServer
impl UnsafeUnpin for ControlServer
impl UnwindSafe for ControlServer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request