/** * Write a byte array. This will first write the length as 4 bytes, and then * the actual bytes. * * @param out the data output stream * @param data the byte array * @throws IOException if an IO exception occurred while writing. */ public static void writeBytes(OutputStream out, byte[] data) throws IOException { writeVarInt(out, data.length); out.write(data); }
/** * Write a byte array. This will first write the length as 4 bytes, and then * the actual bytes. * * @param out the data output stream * @param data the byte array * @throws IOException if an IO exception occurred while writing. */ public static void writeBytes(OutputStream out, byte[] data) throws IOException { writeVarInt(out, data.length); out.write(data); }
/** * Write a byte array. This will first write the length as 4 bytes, and then * the actual bytes. * * @param out the data output stream * @param data the byte array * @throws IOException if an IO exception occurred while writing. */ public static void writeBytes(OutputStream out, byte[] data) throws IOException { writeVarInt(out, data.length); out.write(data); }
@Override public void write(String key, int value) throws Exception { if (out == null) { throw new IllegalStateException("no OutputStream provided"); } IOUtils.writeVarInt(out, value); }
IOUtils.writeVarInt(idStream, 0); IOUtils.writeVarLong(idStream, length); byte[] digest = messageDigest.digest(); IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest); byte[] id = idStream.toByteArray();
IOUtils.writeVarInt(idStream, 0); IOUtils.writeVarLong(idStream, length); byte[] digest = messageDigest.digest(); IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest); byte[] id = idStream.toByteArray();
IOUtils.writeVarInt(idStream, 0); IOUtils.writeVarLong(idStream, length); byte[] digest = messageDigest.digest(); IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest); byte[] id = idStream.toByteArray();
} else if (blockLen < blockSizeMin) { idStream.write(TYPE_DATA); IOUtils.writeVarInt(idStream, blockLen); idStream.write(block, 0, blockLen); totalLength += blockLen; byte[] digest = messageDigest.digest(); idStream.write(TYPE_HASH); IOUtils.writeVarInt(idStream, level); if (level > 0) { IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest);
} else if (blockLen < blockSizeMin) { idStream.write(TYPE_DATA); IOUtils.writeVarInt(idStream, blockLen); idStream.write(block, 0, blockLen); totalLength += blockLen; byte[] digest = messageDigest.digest(); idStream.write(TYPE_HASH); IOUtils.writeVarInt(idStream, level); if (level > 0) { IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest);
} else if (blockLen < blockSizeMin) { idStream.write(TYPE_DATA); IOUtils.writeVarInt(idStream, blockLen); idStream.write(block, 0, blockLen); totalLength += blockLen; byte[] digest = messageDigest.digest(); idStream.write(TYPE_HASH); IOUtils.writeVarInt(idStream, level); if (level > 0) { IOUtils.writeVarInt(idStream, digest.length); idStream.write(digest);
@Override public void writeMap(String key, int count, StringEntryIterator iterator) throws Exception { if (out == null) { throw new IllegalStateException("no OutputStream provided"); } IOUtils.writeVarInt(out, count); while (iterator.hasNext()) { StringEntry entry = iterator.next(); IOUtils.writeString(out, entry.getKey()); IOUtils.writeString(out, entry.getValue()); } }
@Override public void writeMap(String key, int count, BytesEntryIterator iterator) throws Exception { if (out == null) { throw new IllegalStateException("no OutputStream provided"); } IOUtils.writeVarInt(out, count); while (iterator.hasNext()) { BytesEntry entry = iterator.next(); IOUtils.writeString(out, entry.getKey()); IOUtils.writeBytes(out, entry.getValue()); } }
private static void testVarInt(int x, int expectedLen) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); IOUtils.writeVarInt(out, x); byte[] data = out.toByteArray(); assertTrue(data.length <= 5); if (expectedLen > 0) { assertEquals(expectedLen, data.length); } ByteArrayInputStream in = new ByteArrayInputStream(data); int x2 = IOUtils.readVarInt(in); assertEquals(x, x2); assertEquals(-1, in.read()); }