Struct libp2p::wasm_ext::ffi::Connection[][src]

#[repr(transparent)]pub struct Connection { /* fields omitted */ }

Type of the object that represents an open connection with a remote.

Implementations

impl Connection[src]

pub fn read(&self) -> Iterator[src]

Returns an iterator of JavaScript Promises that resolve to ArrayBuffer objects (or resolve to null, see below). These ArrayBuffer objects contain the data that the remote has sent to us. If the remote closes the connection, the iterator must produce a Promise that resolves to null.

impl Connection[src]

pub fn write(&self, data: &[u8]) -> Result<Promise, JsValue>[src]

Writes data to the connection. Returns a Promise that resolves when the connection is ready for writing again.

If the Promise produces an error, the writing side of the connection is considered unrecoverable and the connection should be closed as soon as possible.

Guaranteed to only be called after the previous write promise has resolved.

impl Connection[src]

pub fn shutdown(&self) -> Result<(), JsValue>[src]

Shuts down the writing side of the connection. After this has been called, the write method will no longer be called.

impl Connection[src]

pub fn close(&self)[src]

Closes the connection. No other method will be called on this connection anymore.

Methods from Deref<Target = JsValue>

pub const NULL: JsValue[src]

pub const UNDEFINED: JsValue[src]

pub const TRUE: JsValue[src]

pub const FALSE: JsValue[src]

pub fn as_f64(&self) -> Option<f64>[src]

Returns the f64 value of this JS value if it’s an instance of a number.

If this JS value is not an instance of a number then this returns None.

pub fn is_string(&self) -> bool[src]

Tests whether this JS value is a JS string.

pub fn as_string(&self) -> Option<String>[src]

If this JS value is a string value, this function copies the JS string value into wasm linear memory, encoded as UTF-8, and returns it as a Rust String.

To avoid the copying and re-encoding, consider the JsString::try_from() function from js-sys instead.

If this JS value is not an instance of a string or if it’s not valid utf-8 then this returns None.

UTF-16 vs UTF-8

JavaScript strings in general are encoded as UTF-16, but Rust strings are encoded as UTF-8. This can cause the Rust string to look a bit different than the JS string sometimes. For more details see the documentation about the str type which contains a few caveats about the encodings.

pub fn as_bool(&self) -> Option<bool>[src]

Returns the bool value of this JS value if it’s an instance of a boolean.

If this JS value is not an instance of a boolean then this returns None.

pub fn is_null(&self) -> bool[src]

Tests whether this JS value is null

pub fn is_undefined(&self) -> bool[src]

Tests whether this JS value is undefined

pub fn is_symbol(&self) -> bool[src]

Tests whether the type of this JS value is symbol

pub fn is_object(&self) -> bool[src]

Tests whether typeof self == "object" && self !== null.

pub fn is_function(&self) -> bool[src]

Tests whether the type of this JS value is function.

pub fn is_truthy(&self) -> bool[src]

Tests whether the value is “truthy”.

pub fn is_falsy(&self) -> bool[src]

Tests whether the value is “falsy”.

Trait Implementations

impl AsRef<Connection> for Connection[src]

impl AsRef<JsValue> for Connection[src]

impl Deref for Connection[src]

type Target = JsValue

The resulting type after dereferencing.

impl From<Connection> for JsValue[src]

impl From<JsValue> for Connection[src]

impl FromWasmAbi for Connection[src]

type Abi = <JsValue as FromWasmAbi>::Abi

The wasm ABI type that this converts from when coming back out from the ABI boundary. Read more

impl<'a> IntoWasmAbi for &'a Connection[src]

type Abi = <&'a JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl IntoWasmAbi for Connection[src]

type Abi = <JsValue as IntoWasmAbi>::Abi

The wasm ABI type that this converts into when crossing the ABI boundary. Read more

impl JsCast for Connection[src]

impl OptionFromWasmAbi for Connection[src]

impl<'a> OptionIntoWasmAbi for &'a Connection[src]

impl OptionIntoWasmAbi for Connection[src]

impl RefFromWasmAbi for Connection[src]

type Abi = <JsValue as RefFromWasmAbi>::Abi

The wasm ABI type references to Self are recovered from.

type Anchor = ManuallyDrop<Connection>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous. Read more

Auto Trait Implementations

impl RefUnwindSafe for Connection

impl !Send for Connection

impl !Sync for Connection

impl Unpin for Connection

impl UnwindSafe for Connection

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ReturnWasmAbi for T where
    T: IntoWasmAbi
[src]

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]