Struct libp2p_wasm_ext::ffi::Connection
source · [−]#[repr(transparent)]pub struct Connection { /* private fields */ }Expand description
Type of the object that represents an open connection with a remote.
Implementations
sourceimpl Connection
impl Connection
sourcepub fn read(&self) -> Iterator
pub fn read(&self) -> Iterator
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.
sourceimpl Connection
impl Connection
sourcepub fn write(&self, data: &[u8]) -> Result<Promise, JsValue>
pub fn write(&self, data: &[u8]) -> Result<Promise, JsValue>
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.
sourceimpl Connection
impl Connection
sourceimpl Connection
impl Connection
Methods from Deref<Target = JsValue>
pub const NULL: JsValue = JsValue{idx: JSIDX_NULL, _marker: marker::PhantomData,}
pub const UNDEFINED: JsValue = JsValue{idx: JSIDX_UNDEFINED, _marker: marker::PhantomData,}
pub const TRUE: JsValue = JsValue{idx: JSIDX_TRUE, _marker: marker::PhantomData,}
pub const FALSE: JsValue = JsValue{idx: JSIDX_FALSE, _marker: marker::PhantomData,}
sourcepub fn as_f64(&self) -> Option<f64>
pub fn as_f64(&self) -> Option<f64>
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.
sourcepub fn as_string(&self) -> Option<String>
pub fn as_string(&self) -> Option<String>
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.
sourcepub fn as_bool(&self) -> Option<bool>
pub fn as_bool(&self) -> Option<bool>
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.
sourcepub fn is_undefined(&self) -> bool
pub fn is_undefined(&self) -> bool
Tests whether this JS value is undefined
sourcepub fn is_function(&self) -> bool
pub fn is_function(&self) -> bool
Tests whether the type of this JS value is function.
sourcepub fn js_in(&self, obj: &JsValue) -> bool
pub fn js_in(&self, obj: &JsValue) -> bool
Applies the binary in JS operator on the two JsValues.
sourcepub fn loose_eq(&self, other: &JsValue) -> bool
pub fn loose_eq(&self, other: &JsValue) -> bool
Compare two JsValues for equality, using the == operator in JS.
sourcepub fn unsigned_shr(&self, rhs: &JsValue) -> u32
pub fn unsigned_shr(&self, rhs: &JsValue) -> u32
Applies the binary >>> JS operator on the two JsValues.
sourcepub fn checked_div(&self, rhs: &JsValue) -> JsValue
pub fn checked_div(&self, rhs: &JsValue) -> JsValue
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
sourcepub fn pow(&self, rhs: &JsValue) -> JsValue
pub fn pow(&self, rhs: &JsValue) -> JsValue
Applies the binary ** JS operator on the two JsValues.
sourcepub fn lt(&self, other: &JsValue) -> bool
pub fn lt(&self, other: &JsValue) -> bool
Applies the binary < JS operator on the two JsValues.
sourcepub fn le(&self, other: &JsValue) -> bool
pub fn le(&self, other: &JsValue) -> bool
Applies the binary <= JS operator on the two JsValues.
sourcepub fn ge(&self, other: &JsValue) -> bool
pub fn ge(&self, other: &JsValue) -> bool
Applies the binary >= JS operator on the two JsValues.
sourcepub fn gt(&self, other: &JsValue) -> bool
pub fn gt(&self, other: &JsValue) -> bool
Applies the binary > JS operator on the two JsValues.
sourcepub fn unchecked_into_f64(&self) -> f64
pub fn unchecked_into_f64(&self) -> f64
Applies the unary + JS operator on a JsValue. Can throw.
Trait Implementations
sourceimpl AsRef<Connection> for Connection
impl AsRef<Connection> for Connection
sourcefn as_ref(&self) -> &Connection
fn as_ref(&self) -> &Connection
Converts this type into a shared reference of the (usually inferred) input type.
sourceimpl AsRef<JsValue> for Connection
impl AsRef<JsValue> for Connection
sourceimpl Deref for Connection
impl Deref for Connection
sourceimpl From<Connection> for JsValue
impl From<Connection> for JsValue
sourcefn from(obj: Connection) -> JsValue
fn from(obj: Connection) -> JsValue
Converts to this type from the input type.
sourceimpl From<JsValue> for Connection
impl From<JsValue> for Connection
sourcefn from(obj: JsValue) -> Connection
fn from(obj: JsValue) -> Connection
Converts to this type from the input type.
sourceimpl FromWasmAbi for Connection
impl FromWasmAbi for Connection
sourceimpl IntoWasmAbi for Connection
impl IntoWasmAbi for Connection
sourceimpl<'a> IntoWasmAbi for &'a Connection
impl<'a> IntoWasmAbi for &'a Connection
sourceimpl JsCast for Connection
impl JsCast for Connection
sourcefn instanceof(val: &JsValue) -> bool
fn instanceof(val: &JsValue) -> bool
Performs a dynamic instanceof check to see whether the JsValue
provided is an instance of this type. Read more
sourcefn unchecked_from_js(val: JsValue) -> Self
fn unchecked_from_js(val: JsValue) -> Self
Performs a zero-cost unchecked conversion from a JsValue into an
instance of Self Read more
sourcefn unchecked_from_js_ref(val: &JsValue) -> &Self
fn unchecked_from_js_ref(val: &JsValue) -> &Self
Performs a zero-cost unchecked conversion from a &JsValue into an
instance of &Self. Read more
sourcefn has_type<T>(&self) -> bool where
T: JsCast,
fn has_type<T>(&self) -> bool where
T: JsCast,
Test whether this JS value has a type T. Read more
sourcefn dyn_into<T>(self) -> Result<T, Self> where
T: JsCast,
fn dyn_into<T>(self) -> Result<T, Self> where
T: JsCast,
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
sourcefn dyn_ref<T>(&self) -> Option<&T> where
T: JsCast,
fn dyn_ref<T>(&self) -> Option<&T> where
T: JsCast,
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
sourcefn unchecked_into<T>(self) -> T where
T: JsCast,
fn unchecked_into<T>(self) -> T where
T: JsCast,
Performs a zero-cost unchecked cast into the specified type. Read more
sourcefn unchecked_ref<T>(&self) -> &T where
T: JsCast,
fn unchecked_ref<T>(&self) -> &T where
T: JsCast,
Performs a zero-cost unchecked cast into a reference to the specified type. Read more
sourcefn is_instance_of<T>(&self) -> bool where
T: JsCast,
fn is_instance_of<T>(&self) -> bool where
T: JsCast,
Test whether this JS value is an instance of the type T. Read more
sourcefn is_type_of(val: &JsValue) -> bool
fn is_type_of(val: &JsValue) -> bool
Performs a dynamic check to see whether the JsValue provided
is a value of this type. Read more
sourceimpl OptionFromWasmAbi for Connection
impl OptionFromWasmAbi for Connection
sourceimpl OptionIntoWasmAbi for Connection
impl OptionIntoWasmAbi for Connection
sourceimpl<'a> OptionIntoWasmAbi for &'a Connection
impl<'a> OptionIntoWasmAbi for &'a Connection
sourceimpl RefFromWasmAbi for Connection
impl RefFromWasmAbi for Connection
type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
The wasm ABI type references to Self are recovered from.
type Anchor = ManuallyDrop<Connection>
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
sourceunsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor
Recover a Self::Anchor from Self::Abi. Read more
sourceimpl WasmDescribe for Connection
impl WasmDescribe for Connection
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ReturnWasmAbi for T where
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for T where
T: IntoWasmAbi,
type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as IntoWasmAbi::Abi
sourcefn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err. Read more