WebSocketReader(boolean isClient, BufferedSource source, FrameCallback frameCallback) { if (source == null) throw new NullPointerException("source == null"); if (frameCallback == null) throw new NullPointerException("frameCallback == null"); this.isClient = isClient; this.source = source; this.frameCallback = frameCallback; // Masks are only a concern for server writers. maskKey = isClient ? null : new byte[4]; maskCursor = isClient ? null : new Buffer.UnsafeCursor(); }
WebSocketWriter(boolean isClient, BufferedSink sink, Random random) { if (sink == null) throw new NullPointerException("sink == null"); if (random == null) throw new NullPointerException("random == null"); this.isClient = isClient; this.sink = sink; this.sinkBuffer = sink.buffer(); this.random = random; // Masks are only a concern for client writers. maskKey = isClient ? new byte[4] : null; maskCursor = isClient ? new Buffer.UnsafeCursor() : null; }
WebSocketReader(boolean isClient, BufferedSource source, FrameCallback frameCallback) { if (source == null) throw new NullPointerException("source == null"); if (frameCallback == null) throw new NullPointerException("frameCallback == null"); this.isClient = isClient; this.source = source; this.frameCallback = frameCallback; // Masks are only a concern for server writers. maskKey = isClient ? null : new byte[4]; maskCursor = isClient ? null : new Buffer.UnsafeCursor(); }
WebSocketWriter(boolean isClient, BufferedSink sink, Random random) { if (sink == null) throw new NullPointerException("sink == null"); if (random == null) throw new NullPointerException("random == null"); this.isClient = isClient; this.sink = sink; this.sinkBuffer = sink.buffer(); this.random = random; // Masks are only a concern for client writers. maskKey = isClient ? new byte[4] : null; maskCursor = isClient ? new Buffer.UnsafeCursor() : null; }
WebSocketReader(boolean isClient, BufferedSource source, FrameCallback frameCallback) { if (source == null) throw new NullPointerException("source == null"); if (frameCallback == null) throw new NullPointerException("frameCallback == null"); this.isClient = isClient; this.source = source; this.frameCallback = frameCallback; // Masks are only a concern for server writers. maskKey = isClient ? null : new byte[4]; maskCursor = isClient ? null : new Buffer.UnsafeCursor(); }
@Test public void acquireAndRelease() throws Exception { Buffer buffer = bufferFactory.newBuffer(); UnsafeCursor cursor = new UnsafeCursor(); // Nothing initialized before acquire. assertEquals(-1, cursor.offset); assertNull(cursor.data); assertEquals(-1, cursor.start); assertEquals(-1, cursor.end); buffer.readUnsafe(cursor); cursor.close(); // Nothing initialized after close. assertEquals(-1, cursor.offset); assertNull(cursor.data); assertEquals(-1, cursor.start); assertEquals(-1, cursor.end); }
WebSocketWriter(boolean isClient, BufferedSink sink, Random random) { if (sink == null) throw new NullPointerException("sink == null"); if (random == null) throw new NullPointerException("random == null"); this.isClient = isClient; this.sink = sink; this.sinkBuffer = sink.buffer(); this.random = random; // Masks are only a concern for client writers. maskKey = isClient ? new byte[4] : null; maskCursor = isClient ? new Buffer.UnsafeCursor() : null; }
@Test public void expandNotAcquired() throws Exception { UnsafeCursor cursor = new UnsafeCursor(); try { cursor.expandBuffer(10); fail(); } catch (IllegalStateException expected) { } }
@Test public void resizeNotAcquired() throws Exception { UnsafeCursor cursor = new UnsafeCursor(); try { cursor.resizeBuffer(10); fail(); } catch (IllegalStateException expected) { } }
@Test public void releaseWithoutAcquire() throws Exception { UnsafeCursor cursor = new UnsafeCursor(); try { cursor.close(); fail(); } catch (IllegalStateException expected) { } }