pub struct ElectionClient<T> { /* private fields */ }Expand description
The election service exposes client-side election facilities as a gRPC interface.
Implementations§
Source§impl ElectionClient<Channel>
impl ElectionClient<Channel>
Source§impl<T> ElectionClient<T>where
T: GrpcService<Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> ElectionClient<T>where
T: GrpcService<Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ElectionClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<Body>, Response = Response<<T as GrpcService<Body>>::ResponseBody>>,
<T as Service<Request<Body>>>::Error: Into<StdError> + Send + Sync,
Sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
Sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
Sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
Sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
Sourcepub async fn campaign(
&mut self,
request: impl IntoRequest<CampaignRequest>,
) -> Result<Response<CampaignResponse>, Status>
pub async fn campaign( &mut self, request: impl IntoRequest<CampaignRequest>, ) -> Result<Response<CampaignResponse>, Status>
Campaign waits to acquire leadership in an election, returning a LeaderKey representing the leadership if successful. The LeaderKey can then be used to issue new values on the election, transactionally guard API requests on leadership still being held, and resign from the election.
Sourcepub async fn proclaim(
&mut self,
request: impl IntoRequest<ProclaimRequest>,
) -> Result<Response<ProclaimResponse>, Status>
pub async fn proclaim( &mut self, request: impl IntoRequest<ProclaimRequest>, ) -> Result<Response<ProclaimResponse>, Status>
Proclaim updates the leader’s posted value with a new value.
Sourcepub async fn leader(
&mut self,
request: impl IntoRequest<LeaderRequest>,
) -> Result<Response<LeaderResponse>, Status>
pub async fn leader( &mut self, request: impl IntoRequest<LeaderRequest>, ) -> Result<Response<LeaderResponse>, Status>
Leader returns the current election proclamation, if any.
Sourcepub async fn observe(
&mut self,
request: impl IntoRequest<LeaderRequest>,
) -> Result<Response<Streaming<LeaderResponse>>, Status>
pub async fn observe( &mut self, request: impl IntoRequest<LeaderRequest>, ) -> Result<Response<Streaming<LeaderResponse>>, Status>
Observe streams election proclamations in-order as made by the election’s elected leaders.
Sourcepub async fn resign(
&mut self,
request: impl IntoRequest<ResignRequest>,
) -> Result<Response<ResignResponse>, Status>
pub async fn resign( &mut self, request: impl IntoRequest<ResignRequest>, ) -> Result<Response<ResignResponse>, Status>
Resign releases election leadership so other campaigners may acquire leadership on the election.
Trait Implementations§
Source§impl<T: Clone> Clone for ElectionClient<T>
impl<T: Clone> Clone for ElectionClient<T>
Source§fn clone(&self) -> ElectionClient<T>
fn clone(&self) -> ElectionClient<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> !Freeze for ElectionClient<T>
impl<T> RefUnwindSafe for ElectionClient<T>where
T: RefUnwindSafe,
impl<T> Send for ElectionClient<T>where
T: Send,
impl<T> Sync for ElectionClient<T>where
T: Sync,
impl<T> Unpin for ElectionClient<T>where
T: Unpin,
impl<T> UnwindSafe for ElectionClient<T>where
T: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
T in a tonic::Request