Struct RawPeer

Source
pub struct RawPeer<W: Write + 'static>(/* private fields */);
Expand description

An interface to access the other side of the RPC channel. The main purpose is to send RPC requests and notifications to the peer.

A single shared RawPeer exists for each RpcLoop; a reference can be taken with RpcLoop::get_peer().

In general, RawPeer shouldn’t be used directly, but behind a pointer as the Peer trait object.

Trait Implementations§

Source§

impl<W: Write> Clone for RawPeer<W>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<W: Write + Send + 'static> Peer for RawPeer<W>

Source§

fn box_clone(&self) -> Box<dyn Peer>

Used to implement clone in an object-safe way. For an explanation on this approach, see this thread.
Source§

fn send_rpc_notification(&self, method: &str, params: &Value)

Sends a notification (asynchronous RPC) to the peer.
Source§

fn send_rpc_request_async( &self, method: &str, params: &Value, f: Box<dyn Callback>, )

Sends a request asynchronously, and the supplied callback will be called when the response arrives. Read more
Source§

fn send_rpc_request(&self, method: &str, params: &Value) -> Result<Value, Error>

Sends a request (synchronous RPC) to the peer, and waits for the result.
Source§

fn request_is_pending(&self) -> bool

Determines whether an incoming request (or notification) is pending. This is intended to reduce latency for bulk operations done in the background.
Source§

fn schedule_idle(&self, token: usize)

Adds a token to the idle queue. When the runloop is idle and the queue is not empty, the handler’s idle fn will be called with the earliest added token.
Source§

fn schedule_timer(&self, after: Instant, token: usize)

Like schedule_idle, with the guarantee that the handler’s idle fn will not be called before the provided Instant. Read more

Auto Trait Implementations§

§

impl<W> Freeze for RawPeer<W>

§

impl<W> RefUnwindSafe for RawPeer<W>

§

impl<W> Send for RawPeer<W>
where W: Send,

§

impl<W> Sync for RawPeer<W>
where W: Send,

§

impl<W> Unpin for RawPeer<W>

§

impl<W> UnwindSafe for RawPeer<W>

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, 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> 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.