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: u64Client-defined request id, echoed in the response
name: StringName of the semaphore to acquire
timeout_millis: u64Timeout in milliseconds after which operation will fail if it’s still waiting in the waiters queue
count: u64Number of tokens to acquire on the semaphore
data: Vec<u8>User-defined binary data that may be attached to the operation
ephemeral: boolEphemeral 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§impl<'de> Deserialize<'de> for AcquireSemaphore
impl<'de> Deserialize<'de> for AcquireSemaphore
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for AcquireSemaphore
impl Hash for AcquireSemaphore
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(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
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(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
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(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for AcquireSemaphore
impl PartialEq for AcquireSemaphore
Source§impl Serialize for AcquireSemaphore
impl Serialize for AcquireSemaphore
impl Eq 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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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