List of usage examples for com.google.gwt.typedarrays.client Uint8Array set
public native final void set(JsArrayInteger array, int offset) ;
From source file:org.objectfabric.IndexedDBQueue.java
License:Apache License
final void write(JavaScriptObject transaction, URI uri, long tick, Buff[] buffs, long[] removals, boolean callback) { IndexedDBView view = (IndexedDBView) uri.getOrCreate(_location); ArrayBuffer buffer = null;/*from w ww . ja v a 2 s. com*/ if (buffs.length == 1) { GWTBuff buff = (GWTBuff) buffs[0]; // buffer = buff.slice(); } else { int capacity = 0; for (int i = 0; i < buffs.length; i++) capacity += buffs[i].remaining(); Uint8Array array = ((GWTPlatform) Platform.get()).newUint8Array(capacity); int position = 0; for (int i = 0; i < buffs.length; i++) { GWTBuff buff = (GWTBuff) buffs[i]; array.set(buff.subarray(), position); position += buff.remaining(); } // buffer = array.buffer(); } JavaScriptObject request = write(transaction, IndexedDB.BLOCKS, view.getKey(tick), buffer); if (callback) callback(request, view, uri, new long[] { tick }, buffs, removals); if (removals != null) for (int i = 0; i < removals.length; i++) if (!Tick.isNull(removals[i])) delete(_location.db(), IndexedDB.BLOCKS, view.getKey(removals[i])); _ongoing++; }
From source file:playn.html.HtmlWebSocket.java
License:Apache License
@Override public void send(ByteBuffer data) { int len = data.limit(); // TODO(haustein) Sending the view directly does not work for some reason. // May be a chrome issue...? // Object trick = data; // ArrayBufferView ta = ((HasArrayBufferView) trick).getTypedArray(); // Int8Array view = Int8Array.create(ta.getBuffer(), ta.getByteOffset(), len) // ws.send(view); ArrayBuffer buf = ArrayBuffer.create(len); Uint8Array view = Uint8Array.create(buf); for (int i = 0; i < len; i++) { view.set(i, data.get(i)); }//from w ww . j av a 2s . co m ws.send(buf); }