/** * Returns the underlying V8ArrayBuffer. * @return the underlying V8ArrayBuffer. */ public V8ArrayBuffer getV8ArrayBuffer() { return arrayBuffer.twin(); }
ArrayBuffer(final V8ArrayBuffer arrayBuffer) { this.arrayBuffer = (V8ArrayBuffer) arrayBuffer.twin().setWeak(); }
/** * Create a new ArrayBuffer from a java.nio.ByteBuffer * * @param v8 the Runtime on which to create the ArrayBuffer * @param byteBuffer the ByteBuffer to use to back the ArrayBuffer */ public ArrayBuffer(final V8 v8, final ByteBuffer byteBuffer) { V8ArrayBuffer v8ArrayBuffer = new V8ArrayBuffer(v8, byteBuffer); try { arrayBuffer = (V8ArrayBuffer) v8ArrayBuffer.twin().setWeak(); } finally { v8ArrayBuffer.close(); } }
/** * Returns the underlying V8ArrayBuffer. * @return the underlying V8ArrayBuffer. */ public V8ArrayBuffer getV8ArrayBuffer() { return arrayBuffer.twin(); }
ArrayBuffer(final V8ArrayBuffer arrayBuffer) { this.arrayBuffer = (V8ArrayBuffer) arrayBuffer.twin().setWeak(); }
/** * Create a new ArrayBuffer from a java.nio.ByteBuffer * * @param v8 the Runtime on which to create the ArrayBuffer * @param byteBuffer the ByteBuffer to use to back the ArrayBuffer */ public ArrayBuffer(final V8 v8, final ByteBuffer byteBuffer) { V8ArrayBuffer v8ArrayBuffer = new V8ArrayBuffer(v8, byteBuffer); try { arrayBuffer = (V8ArrayBuffer) v8ArrayBuffer.twin().setWeak(); } finally { v8ArrayBuffer.close(); } }
@Test public void testArrayBufferTwinHasSameBackingStore() { V8ArrayBuffer arrayBuffer = (V8ArrayBuffer) v8.executeScript("var buf = new ArrayBuffer(100); buf;"); V8ArrayBuffer twin = arrayBuffer.twin(); assertEquals(twin.byteBuffer, arrayBuffer.byteBuffer); arrayBuffer.close(); twin.close(); }
@Test public void testTwinIsArrayBuffer() { V8ArrayBuffer arrayBuffer = (V8ArrayBuffer) v8.executeScript("var buf = new ArrayBuffer(100); buf;"); V8ArrayBuffer twin = arrayBuffer.twin(); assertTrue(twin instanceof V8ArrayBuffer); arrayBuffer.close(); twin.close(); }