Skip to main content

Client

Struct Client 

Source
pub struct Client<T> { /* private fields */ }
Expand description

Invoke implementation of a TCP transport using tokio

Implementations§

Source§

impl<T> Client<T>

Source

pub fn nodelay(self, nodelay: Option<bool>) -> Self

Sets whether TCP_NODELAY is enabled on connections established by this client, None leaves the system default unchanged. It is enabled by default, since invocations consist of small writes that are each waited on by the peer.

Source

pub fn set_zero_linger(self) -> Self

Sets SO_LINGER to zero on connections established by this client, so that closing them aborts the connection instead of leaving it in TIME_WAIT. Aborting the connection discards any data not yet sent to the peer, so this should only be used if the peer does not depend on receiving all data, for example in benchmarks. It is not set by default.

Trait Implementations§

Source§

impl<T: Clone> Clone for Client<T>

Source§

fn clone(&self) -> Client<T>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for Client<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> From<T> for Client<T>
where T: ToSocketAddrs + Clone,

Source§

fn from(addr: T) -> Self

Converts to this type from the input type.
Source§

impl<T> Invoke for Client<T>
where T: ToSocketAddrs + Clone + Send + Sync,

Source§

type Context = ()

Transport-specific invocation context
Source§

async fn invoke<P>( &self, __arg1: Self::Context, instance: &str, func: &str, params: Bytes, paths: impl AsRef<[P]> + Send, ) -> Result<(Outgoing, Incoming)>
where P: AsRef<[Option<usize>]> + Send + Sync,

Invoke function func on instance instance

Auto Trait Implementations§

§

impl<T> Freeze for Client<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Client<T>
where T: RefUnwindSafe,

§

impl<T> Send for Client<T>
where T: Send,

§

impl<T> Sync for Client<T>
where T: Sync,

§

impl<T> Unpin for Client<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for Client<T>
where T: UnsafeUnpin,

§

impl<T> UnwindSafe for Client<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> InvokeExt for T
where T: Invoke,

Source§

fn invoke_values<P, Params, Results, Paths>( &self, cx: Self::Context, instance: &str, func: &str, params: Params, paths: Paths, ) -> impl Future<Output = Result<(Results, Option<impl Future<Output = Result<()>> + Send + 'static + use<Self, P, Params, Results, Paths>>)>> + Send
where Paths: AsRef<[P]> + Send, P: AsRef<[Option<usize>]> + Send + Sync, Params: TupleEncode + Send, Results: TupleDecode + Send, <Params::Encoder as Encoder<Params>>::Error: Error + Send + Sync + 'static, <Results::Decoder as Decoder>::Error: Error + Send + Sync + 'static,

Invoke function func on instance instance using typed Params and Results
Source§

fn invoke_values_blocking<P, Params, Results>( &self, cx: Self::Context, instance: &str, func: &str, params: Params, paths: impl AsRef<[P]> + Send, ) -> impl Future<Output = Result<Results>> + Send
where P: AsRef<[Option<usize>]> + Send + Sync, Params: TupleEncode + Send, Results: TupleDecode + Send, <Params::Encoder as Encoder<Params>>::Error: Error + Send + Sync + 'static, <Results::Decoder as Decoder>::Error: Error + Send + Sync + 'static,

Invoke function func on instance instance using typed Params and Results This is like Self::invoke_values, but it only results once all I/O is done
Source§

fn timeout(&self, timeout: Duration) -> Timeout<'_, Self>

Returns a Timeout, wrapping Self with an implementation of Invoke, which will error, if call to Invoke::invoke does not return within a supplied timeout
Source§

fn timeout_owned(self, timeout: Duration) -> TimeoutOwned<Self>
where Self: Sized,

This is like InvokeExt::timeout, but moves Self and returns corresponding TimeoutOwned
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more