RangeServiceClient

Struct RangeServiceClient 

Source
pub struct RangeServiceClient<T: Transport> { /* private fields */ }
Expand description

Client stub for the #trait_name service.

This client uses hardcoded method IDs (1, 2, …) and expects an Arc<RpcSession<T>> whose run task is already running. Construct sessions with RpcSession::with_channel_start to coordinate odd/even channel IDs when both peers initiate RPCs. For multi-service scenarios where method IDs must be globally unique, use [#registry_client_name] instead.

§Usage

let session = Arc::new(RpcSession::new(transport));
tokio::spawn(session.clone().run()); // Start the demux loop
let client = FooClient::new(session);
let result = client.some_method(args).await?;

Implementations§

Source§

impl<T: Transport + Send + Sync + 'static> RangeServiceClient<T>

Source

pub fn new(session: Arc<RpcSession<T>>) -> Self

Create a new client with the given RPC session.

Uses hardcoded method IDs (1, 2, …). For registry-based method IDs, use [#registry_client_name::new] instead.

The provided session must be shared (Arc::clone) with the call site and have its demux loop (tokio::spawn(session.clone().run())) running.

Source

pub fn session(&self) -> &Arc<RpcSession<T>>

Get a reference to the underlying session.

Source

pub async fn range(&self, n: u32) -> Result<Streaming<u32>, RpcError>

Call the #name server-streaming method on the remote service.

Returns a stream that yields items as they arrive from the server. The stream ends when the server sends EOS, or yields an error if the server sends an ERROR frame.

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

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
§

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

§

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> TimeoutExt for T

Source§

fn timeout(self, duration: Duration) -> Timeout<Self>

Requires a Future or Stream to complete before the specific duration has elapsed. Read more
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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