WsStream

Struct WsStream 

Source
pub struct WsStream<T: WsStreamTrait<E>, E>(/* private fields */);
Expand description

Wrapper for types implementing WsStreamTrait.

This type is used to avoid the orphan rule. Exposed for stream type construction.

Implementations§

Source§

impl<T, E> WsStream<T, E>
where T: WsStreamTrait<E>,

Source

pub async fn connect(url: &str) -> Result<T::Stream, E>

Connect to bilibili websocket server.

§Errors

Returns an error when websocket connection fails.

Trait Implementations§

Source§

impl<T: Debug + WsStreamTrait<E>, E: Debug> Debug for WsStream<T, E>

Source§

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

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

impl<T: Default + WsStreamTrait<E>, E: Default> Default for WsStream<T, E>

Source§

fn default() -> WsStream<T, E>

Returns the “default value” for a type. Read more
Source§

impl<T, E> UnderlyingStream<RetryContext, Result<Packet, StreamError<E>>, StreamError<E>> for WsStream<T, E>
where T: WsStreamTrait<E>, E: Error,

Source§

type Stream = <T as WsStreamTrait<E>>::Stream

Source§

fn establish( ctor_arg: RetryContext, ) -> Pin<Box<dyn Future<Output = Result<Self::Stream, StreamError<E>>>>>

The creation function is used by ReconnectStream in order to establish both the initial IO connection in addition to performing reconnects.
Source§

fn is_write_disconnect_error(err: &StreamError<E>) -> bool

When sink send experience an Error during operation, it does not necessarily mean it is a disconnect/termination (ex: WouldBlock). You may specify which errors are considered “disconnects” by this method.
Source§

fn is_read_disconnect_error(item: &Result<Packet, StreamError<E>>) -> bool

It’s common practice for Stream implementations that return an Err when there’s an error. You may match the result to tell them apart from normal response. By default, no response is considered a “disconnect”.
Source§

fn exhaust_err() -> StreamError<E>

This is returned when retry quota exhausted.

Auto Trait Implementations§

§

impl<T, E> Freeze for WsStream<T, E>

§

impl<T, E> RefUnwindSafe for WsStream<T, E>

§

impl<T, E> Send for WsStream<T, E>
where T: Send, E: Send,

§

impl<T, E> Sync for WsStream<T, E>
where T: Sync, E: Sync,

§

impl<T, E> Unpin for WsStream<T, E>
where T: Unpin, E: Unpin,

§

impl<T, E> UnwindSafe for WsStream<T, E>
where T: UnwindSafe, E: 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> 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

Source§

impl<T> ErasedDestructor for T
where T: 'static,