Type Alias mozjs::jsapi::FreeTransferStructuredCloneOp
source · 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:
-
During serialization: an object is Transferred from, then an error is encountered later and the incomplete serialization is discarded.
-
During deserialization: before an object is Transferred to, an error is encountered and the incompletely deserialized clone is discarded.
-
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§
None
No value.
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>
impl<T: CustomTrace> CustomTrace for Option<T>
source§impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
impl<T: FromJSValConvertible> FromJSValConvertible for Option<T>
§type Config = <T as FromJSValConvertible>::Config
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>>, ()>
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.