pub type FreeTransferStructuredCloneOp = Option<unsafe extern "C" fn(_: u32, _: TransferableOwnership, _: *mut c_void, _: u64, _: *mut c_void)>;
Expand description

Called when freeing a transferable handled by the embedding. Note that it should never trigger a garbage collection (and will assert in a debug build if it does.)

This callback will be used to release ownership in three situations:

  1. During serialization: an object is Transferred from, then an error is encountered later and the incomplete serialization is discarded.

  2. During deserialization: before an object is Transferred to, an error is encountered and the incompletely deserialized clone is discarded.

  3. Serialized data that includes Transferring is never deserialized (eg when the receiver disappears before reading in the message), and the clone data is destroyed.

Aliased Type§

enum FreeTransferStructuredCloneOp {
    None,
    Some(unsafe extern "C" fn(_: u32, _: TransferableOwnership, _: *mut c_void, _: u64, _: *mut c_void)),
}

Variants§

§1.0.0

None

No value.

§1.0.0

Some(unsafe extern "C" fn(_: u32, _: TransferableOwnership, _: *mut c_void, _: u64, _: *mut c_void))

Some value of type T.

Trait Implementations§

source§

impl<T: CustomTrace> CustomTrace for Option<T>

source§

impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>

§

type Config = <T as FromJSValConvertible>::Config

Optional configurable behaviour switch; use () for no configuration.
source§

unsafe fn from_jsval( cx: *mut JSContext, value: HandleValue<'_>, option: T::Config ) -> Result<ConversionResult<Option<T>>, ()>

Convert val to type Self. Optional configuration of type T can be passed as the option argument. If it returns Err(()), a JSAPI exception is pending. If it returns Ok(Failure(reason)), there is no pending JSAPI exception.
source§

impl<T: ToJSValConvertible> ToJSValConvertible for Option<T>

source§

unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)

Convert self to a JSVal. JSAPI failure causes a panic.
source§

impl<T: Traceable> Traceable for Option<T>

source§

unsafe fn trace(&self, trc: *mut JSTracer)

Trace self.