@Override public void set(Uint8Array array) { set(array, 0); }
@Override public void set(Uint8Array array, int offset) { if (array instanceof Uint8ArrayNative) { // Note that any JSO would pass this check, but since only one JSO can // implement a given interface it has to be this one, so any other // implementations must be Java emulations. setNative(array, offset); return; } int len = array.length(); for (int i = 0; i < len; ++i) { set(offset++, array.get(i)); } }
@Override public void set(int[] array) { set(array, 0); }
@Override public void set(short[] array) { set(array, 0); }
@Override public void setUint8(int byteOffset, int value) { Uint8ArrayNative.create(buffer, byteOffset, 1).set(0, value); }
@Override public void set(int[] array, int offset) { set(JsArrayUtils.readOnlyJsArray(array), offset); }
@Override public void set(short[] array, int offset) { set(JsArrayUtils.readOnlyJsArray(array), offset); }
/** * Copy bytes from the underlying buffer to a temporary buffer, reversing them * in the process. * * @param src * @param srcOfs offset into {@code buffer} * @param len number of bytes to copy * @param dest * @param destOfs */ protected final void reverseBytes(Uint8ArrayNative src, int srcOfs, int len, Uint8ArrayNative dest, int destOfs) { for (int i = 0; i < len; ++i) { dest.set(i + destOfs, src.get(srcOfs + len - 1 - i)); } } }
@Override public void putByte(byte value) { if (Debug.ENABLED) Debug.assertion(_position < _limit); if (_useTypedArrays) _typed.set(_position++, value & 0xff); else _array[_position++] = value; }
@Override public void set(Uint8Array array) { set(array, 0); }
@Override public void set(short[] array) { set(array, 0); }
@Override public void set(Uint8Array array) { set(array, 0); }
@Override public void set(short[] array) { set(array, 0); }
@Override public void set(int[] array) { set(array, 0); }
@Override public void putImmutably(byte[] bytes, int offset, int length) { if (length > remaining()) throw new RuntimeException(); if (_useTypedArrays) { for (int i = 0; i < length; i++) _typed.set(_position + i, bytes[offset + i] & 0xff); } else System.arraycopy(bytes, offset, _array, _position, length); }
@Override public void set(short[] array, int offset) { set(JsArrayUtils.readOnlyJsArray(array), offset); }
@Override public void setUint8(int byteOffset, int value) { Uint8ArrayNative.create(buffer, byteOffset, 1).set(0, value); }
@Override public void set(int[] array, int offset) { set(JsArrayUtils.readOnlyJsArray(array), offset); }
@Override public void setUint8(int byteOffset, int value) { Uint8ArrayNative.create(buffer, byteOffset, 1).set(0, value); }
@Override final void putImmutably(Buff source) { GWTBuff buff = (GWTBuff) source; int length = buff.remaining(); if (length > remaining()) throw new RuntimeException(); if (_useTypedArrays) _typed.set(buff._typed.subarray(buff._position, buff._position + length), _position); else System.arraycopy(buff._array, buff._position, _array, _position, length); _position += length; }