/** * Return the value as a byte array */ public byte[] readBytes() { return BYTES_ARRAY_SERIALIZER.fromByteBuffer( getNext() ); }
@Test public void largerThanUnsignedShorts() { final int maxShortSize = 65535; final int lengthOfArray = maxShortSize + 1; final byte setByte = 2; final int setInteger = 400; final byte[] setByteArray = generateByteArray( lengthOfArray ); FieldBufferBuilder builder = new FieldBufferBuilder( 1 ); builder.addBytes( setByteArray ); builder.addByte( setByte ); builder.addInteger( setInteger ); final FieldBufferSerializer serializer = new FieldBufferSerializer(); final ByteBuffer serialized = serializer.toByteBuffer( builder.build() ); final FieldBuffer parsed = serializer.fromByteBuffer( serialized ); FieldBufferParser parser = new FieldBufferParser( parsed ); final byte[] returnedArray = parser.readBytes(); assertArrayEquals( setByteArray, returnedArray ); final byte returnedByte = parser.readByte(); assertEquals( "Bytes should be equal", setByte, returnedByte ); final int returnedInt = parser.readInteger(); assertEquals( "Integer should be equal", setInteger, returnedInt ); }
FieldBufferParser parser = new FieldBufferParser( fieldBuffer ); byte version = parser.readByte(); byte state = parser.readByte(); byte[] array = parser.readBytes();
/** * Perform a very simple serialization of the 3 field types */ @Test public void simpleSerializer() { final byte setByte = 1; final int setInteger = 200; final byte[] setByteArray = generateByteArray( 1000 ); FieldBufferBuilder builder = new FieldBufferBuilder( 3 ); builder.addByte( setByte ); builder.addInteger( setInteger ); builder.addBytes( setByteArray ); final FieldBufferSerializer serializer = new FieldBufferSerializer(); final ByteBuffer serialized = serializer.toByteBuffer( builder.build() ); final FieldBuffer parsed = serializer.fromByteBuffer( serialized ); FieldBufferParser parser = new FieldBufferParser( parsed ); final byte returnedByte = parser.readByte(); assertEquals( "Bytes should be equal", setByte, returnedByte ); final int returnedInt = parser.readInteger(); assertEquals( "Integer should be equal", setInteger, returnedInt ); final byte[] returnedByteArray = parser.readBytes(); assertArrayEquals( "arrays should be equal", setByteArray, returnedByteArray ); }
/** * Return the value as an String */ public String readString() { return STRING_SERIALIZER.fromByteBuffer( getNext() ); }
/** * Return the value as an integer */ public int readInteger() { return INTEGER_SERIALIZER.fromByteBuffer( getNext() ); }
/** * return the next vlaue as a byte */ public byte readByte() { return BYTE_SERIALIZER.fromByteBuffer( getNext() ); }
/** * Return the next 16 bytes asa UUID * @return */ public UUID readUUID() { return UUID_SERIALIZER.fromByteBuffer( getNext() ); }