Struct SocketIo

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

SocketIo manages WebSocket communication for handling RPC events.

It utilizes WebSocket technology to facilitate real-time communication, providing mechanisms for sending requests and receiving responses.

Additionally, it supports RPC cancellation and timeout functionality, allowing for better control over ongoing operations.

The struct efficiently manages concurrent RPC events and notifies clients of relevant occurrences.

Implementations§

Source§

impl SocketIo

Source

pub fn notifier(&self) -> Notifier

Returns a Notifier for sending notifications.

Source

pub async fn notify( &mut self, name: &str, data: impl AsRef<[u8]>, ) -> Result<(), NotifyError>

Sends a notification with the given name and data.

Source

pub fn new<I, O>(reader: I, writer: O, buffer: usize) -> Self
where I: Unpin + AsyncRead + Send + 'static, O: Unpin + AsyncWrite + Send + 'static,

Creates a new SocketIo instance with the specified reader, writer, and buffer size.

§Arguments
  • reader - The source for reading data.
  • writer - The destination for writing data.
  • buffer - The size of the buffer for the channel.
Source

pub async fn recv(&mut self) -> Result<Procedure>

Receives the next Procedure (either a rpc or notification).

§Connection State
  • Returns io::ErrorKind::ConnectionReset when an error event occurs.
  • Returns io::ErrorKind::ConnectionAborted when a close event is received.

Auto Trait Implementations§

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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V