Skip to main content

Client

Struct Client 

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

Connected client. One stream; notifications arriving during Self::request are handed to the optional callback.

Implementations§

Source§

impl Client

Source

pub fn connect(path: impl AsRef<Path>) -> Result<Self, Error>

Connect to path. Uses JSONL framing.

§Errors

Returns an error when the socket cannot be opened or cloned.

Source

pub fn connect_with_framing( path: impl AsRef<Path>, framing: Framing, ) -> Result<Self, Error>

Connect and send every request in framing. The owner replies in kind.

§Errors

Returns an error when the socket cannot be opened or cloned.

Source

pub fn framing(&self) -> Framing

Framing style this client writes.

Source

pub fn on_notification<F>(&mut self, callback: F)
where F: FnMut(Notification) + Send + 'static,

Called for each JSON-RPC notification read while waiting on a response.

Source

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

Send method/params and return the result object.

§Errors

Returns an error when the write or read fails, the payload is not JSON, the response id does not match, or the server returns a JSON-RPC error.

Source

pub fn request_typed(&mut self, req: &Request) -> Result<Value, Error>

Typed request helper. Result is the raw JSON body (caller decodes).

§Errors

Returns an error when the write or read fails, the payload is not JSON, the response id does not match, or the server returns a JSON-RPC error.

Source

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

Send a notification (no id). Does not wait.

§Errors

Returns an error when the notification cannot be encoded or written.

Source

pub fn wait_notification( &mut self, timeout: Duration, ) -> Result<Notification, Error>

Block until the next JSON-RPC notification, or timeout.

§Errors

Returns an error when the wait times out, the read or decode fails, or the next message is a response rather than a notification.

Trait Implementations§

Source§

impl Debug for Client

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Client

§

impl !Sync for Client

§

impl !UnwindSafe for Client

§

impl Freeze for Client

§

impl Send for Client

§

impl Unpin for Client

§

impl UnsafeUnpin for Client

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

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.