pub struct AcquireSemaphore {
pub req_id: u64,
pub name: String,
pub timeout_millis: u64,
pub count: u64,
pub data: Vec<u8>,
pub ephemeral: bool,
}
Expand description
Used to acquire a semaphore
WARNING: a single session cannot acquire the same semaphore multiple times
Later requests override previous operations with the same semaphore, e.g. to reduce acquired count, change timeout or attached data.
Fields§
§req_id: u64
Client-defined request id, echoed in the response
name: String
Name of the semaphore to acquire
timeout_millis: u64
Timeout in milliseconds after which operation will fail if it’s still waiting in the waiters queue
count: u64
Number of tokens to acquire on the semaphore
data: Vec<u8>
User-defined binary data that may be attached to the operation
ephemeral: bool
Ephemeral semaphores are created with the first acquire operation and automatically deleted with the last release operation
Trait Implementations§
Source§impl Clone for AcquireSemaphore
impl Clone for AcquireSemaphore
Source§fn clone(&self) -> AcquireSemaphore
fn clone(&self) -> AcquireSemaphore
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for AcquireSemaphore
impl Debug for AcquireSemaphore
Source§impl Default for AcquireSemaphore
impl Default for AcquireSemaphore
Source§fn default() -> AcquireSemaphore
fn default() -> AcquireSemaphore
Returns the “default value” for a type. Read more
Source§impl Message for AcquireSemaphore
impl Message for AcquireSemaphore
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.Source§impl PartialEq for AcquireSemaphore
impl PartialEq for AcquireSemaphore
impl StructuralPartialEq for AcquireSemaphore
Auto Trait Implementations§
impl Freeze for AcquireSemaphore
impl RefUnwindSafe for AcquireSemaphore
impl Send for AcquireSemaphore
impl Sync for AcquireSemaphore
impl Unpin for AcquireSemaphore
impl UnwindSafe for AcquireSemaphore
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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