@Override public Long decodeFromWire(int pos, Buffer buffer) { return buffer.getLong(pos); }
private void testGetSetLong(boolean isLE) throws Exception { int numLongs = 100; Buffer b = Buffer.buffer(numLongs * 8); for (int i = 0; i < numLongs; i++) { if (isLE) { b.setLongLE(i * 8, i); } else { b.setLong(i * 8, i); } } for (int i = 0; i < numLongs; i++) { if (isLE) { assertEquals(i, b.getLongLE(i * 8)); } else { assertEquals(i, b.getLong(i * 8)); } } }
@Override public HttpConnection ping(Buffer data, Handler<AsyncResult<Buffer>> pongHandler) { if (data.length() != 8) { throw new IllegalArgumentException("Ping data must be exactly 8 bytes"); } handler.writePing(data.getLong(0)).addListener(fut -> { if (fut.isSuccess()) { synchronized (Http2ConnectionBase.this) { pongHandlers.add(pongHandler); } } else { pongHandler.handle(Future.failedFuture(fut.cause())); } }); return this; }
private void testGetSetLong(boolean isLE) throws Exception { int numLongs = 100; Buffer b = Buffer.buffer(numLongs * 8); for (int i = 0; i < numLongs; i++) { if (isLE) { b.setLongLE(i * 8, i); } else { b.setLong(i * 8, i); } } for (int i = 0; i < numLongs; i++) { if (isLE) { assertEquals(i, b.getLongLE(i * 8)); } else { assertEquals(i, b.getLong(i * 8)); } } }
private void testSetLong(Buffer buff) throws Exception { for (int i = 0; i < numSets; i++) { buff.setLong(i * 8, i); } for (int i = 0; i < numSets; i++) { assertEquals(i, buff.getLong(i * 8)); } }
@Override public Long decodeFromWire(int pos, Buffer buffer) { return buffer.getLong(pos); }
@Test public void testSlice1() throws Exception { Buffer buff = TestUtils.randomBuffer(100); Buffer sliced = buff.slice(); assertEquals(buff, sliced); long rand = TestUtils.randomLong(); sliced.setLong(0, rand); assertEquals(rand, buff.getLong(0)); buff.appendString(TestUtils.randomUnicodeString(100)); assertEquals(100, sliced.length()); }
@Test public void testSlice2() throws Exception { Buffer buff = TestUtils.randomBuffer(100); Buffer sliced = buff.slice(10, 20); for (int i = 0; i < 10; i++) { assertEquals(buff.getByte(10 + i), sliced.getByte(i)); } long rand = TestUtils.randomLong(); sliced.setLong(0, rand); assertEquals(rand, buff.getLong(10)); buff.appendString(TestUtils.randomUnicodeString(100)); assertEquals(10, sliced.length()); }
@Override public HttpConnection ping(Buffer data, Handler<AsyncResult<Buffer>> pongHandler) { if (data.length() != 8) { throw new IllegalArgumentException("Ping data must be exactly 8 bytes"); } handler.writePing(data.getLong(0)).addListener(fut -> { if (fut.isSuccess()) { synchronized (Http2ConnectionBase.this) { pongHandlers.add(pongHandler); } } else { pongHandler.handle(Future.failedFuture(fut.cause())); } }); return this; }
assertIndexOutOfBoundsException(() -> b.getInt(-1)); assertIndexOutOfBoundsException(() -> b.getInt(-100)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen + 1)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen + 100)); assertIndexOutOfBoundsException(() -> b.getLong(-1)); assertIndexOutOfBoundsException(() -> b.getLong(-100)); assertIndexOutOfBoundsException(() -> b.getFloat(bytesLen)); assertIndexOutOfBoundsException(() -> b.getFloat(bytesLen + 1));
@Override public int readFromBuffer(int pos, Buffer buffer) { int len = buffer.getInt(pos); pos += 4; byte[] bytes = buffer.getBytes(pos, pos + len); pos += len; setId(new String(bytes, UTF8)); setTimeout(buffer.getLong(pos)); pos += 8; setLastAccessed(buffer.getLong(pos)); pos += 8; setVersion(buffer.getInt(pos)); pos += 4; int start = pos; pos = readDataFromBuffer(pos, buffer); int end = pos; return pos; }
private void testSetLong(Buffer buff) throws Exception { for (int i = 0; i < numSets; i++) { buff.setLong(i * 8, i); } for (int i = 0; i < numSets; i++) { assertEquals(i, buff.getLong(i * 8)); } }
switch (type) { case TYPE_LONG: val = buffer.getLong(pos); pos += 8; break;
/** * Returns the <code>long</code> at position <code>pos</code> in the Buffer. * @param pos * @return */ public long getLong(int pos) { long ret = delegate.getLong(pos); return ret; }
/** * Returns the <code>long</code> at position <code>pos</code> in the Buffer. * @param pos * @return */ public long getLong(int pos) { long ret = delegate.getLong(pos); return ret; }
@Override public long getLong(int i) { return buffer.getLong(i); }
public static long getLong(Buffer buffer, int pos) { return Long.reverseBytes(buffer.getLong(pos)); }
@Test public void testSlice1() throws Exception { Buffer buff = TestUtils.randomBuffer(100); Buffer sliced = buff.slice(); assertEquals(buff, sliced); long rand = TestUtils.randomLong(); sliced.setLong(0, rand); assertEquals(rand, buff.getLong(0)); buff.appendString(TestUtils.randomUnicodeString(100)); assertEquals(100, sliced.length()); }
@Test public void testSlice2() throws Exception { Buffer buff = TestUtils.randomBuffer(100); Buffer sliced = buff.slice(10, 20); for (int i = 0; i < 10; i++) { assertEquals(buff.getByte(10 + i), sliced.getByte(i)); } long rand = TestUtils.randomLong(); sliced.setLong(0, rand); assertEquals(rand, buff.getLong(10)); buff.appendString(TestUtils.randomUnicodeString(100)); assertEquals(10, sliced.length()); }
assertIndexOutOfBoundsException(() -> b.getInt(-1)); assertIndexOutOfBoundsException(() -> b.getInt(-100)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen + 1)); assertIndexOutOfBoundsException(() -> b.getLong(bytesLen + 100)); assertIndexOutOfBoundsException(() -> b.getLong(-1)); assertIndexOutOfBoundsException(() -> b.getLong(-100)); assertIndexOutOfBoundsException(() -> b.getFloat(bytesLen)); assertIndexOutOfBoundsException(() -> b.getFloat(bytesLen + 1));