diff --git a/src/binding.cc b/src/binding.cc index a2161d17..943d0092 100644 --- a/src/binding.cc +++ b/src/binding.cc @@ -3663,6 +3663,12 @@ void v8__ValueDeserializer__TransferArrayBuffer( self->TransferArrayBuffer(transfer_id, array_buffer); } +void v8__ValueDeserializer__TransferSharedArrayBuffer( + v8::ValueDeserializer* self, uint32_t transfer_id, + v8::Local shared_array_buffer) { + self->TransferSharedArrayBuffer(transfer_id, shared_array_buffer); +} + void v8__ValueDeserializer__SetSupportsLegacyWireFormat( v8::ValueDeserializer* self, bool supports_legacy_wire_format) { self->SetSupportsLegacyWireFormat(supports_legacy_wire_format); diff --git a/src/value_deserializer.rs b/src/value_deserializer.rs index 91af64cc..ff0d696f 100644 --- a/src/value_deserializer.rs +++ b/src/value_deserializer.rs @@ -118,6 +118,12 @@ extern "C" { array_buffer: Local, ); + fn v8__ValueDeserializer__TransferSharedArrayBuffer( + this: *mut CxxValueDeserializer, + transfer_id: u32, + array_buffer: Local, + ); + fn v8__ValueDeserializer__SetSupportsLegacyWireFormat( this: *mut CxxValueDeserializer, supports_legacy_wire_format: bool, @@ -336,6 +342,20 @@ pub trait ValueDeserializerHelper { }; } + fn transfer_shared_array_buffer( + &self, + transfer_id: u32, + shared_array_buffer: Local, + ) { + unsafe { + v8__ValueDeserializer__TransferSharedArrayBuffer( + cast_to_ptr(self.get_cxx_value_deserializer()), + transfer_id, + shared_array_buffer, + ) + }; + } + fn get_wire_format_version(&self) -> u32 { unsafe { v8__ValueDeserializer__GetWireFormatVersion(cast_to_ptr(