private void clearState() { if (this.tmpBuf != null) { this.tmpBuf.clear(); } if (this.charsetDecoder != null) { this.charsetDecoder.reset(); } this.contentBuf.clear(); }
private void flushBuffer(final OutputStream outputStream) throws IOException { final int len = this.buffer.length(); if (len > 0) { outputStream.write(this.buffer.array(), 0, len); this.buffer.clear(); this.metrics.incrementBytesTransferred(len); } }
private void flushBuffer(final OutputStream outputStream) throws IOException { final int len = this.buffer.length(); if (len > 0) { outputStream.write(this.buffer.array(), 0, len); this.buffer.clear(); this.metrics.incrementBytesTransferred(len); } }
void encodeString(final ByteArrayBuffer dst, final ByteBuffer src, final boolean huffman) { final int strLen = src.remaining(); if (huffman) { this.huffmanBuf.clear(); this.huffmanBuf.ensureCapacity(strLen); Huffman.ENCODER.encode(this.huffmanBuf, src); dst.ensureCapacity(this.huffmanBuf.length() + 8); encodeInt(dst, 7, this.huffmanBuf.length(), 0x80); dst.append(this.huffmanBuf.array(), 0, this.huffmanBuf.length()); } else { dst.ensureCapacity(strLen + 8); encodeInt(dst, 7, strLen, 0x0); if (src.hasArray()) { final byte[] b = src.array(); final int off = src.position(); dst.append(b, off, strLen); src.position(off + strLen); } else { while (src.hasRemaining()) { dst.append(src.get()); } } } }
if (this.charsetEncoder == null) { if (huffman) { this.huffmanBuf.clear(); this.huffmanBuf.ensureCapacity(len); Huffman.ENCODER.encode(this.huffmanBuf, charSequence, off, len);
len = appendDecoded(charBuffer, bbuf); this.lineBuffer.clear(); return len;
len = appendDecoded(charBuffer, bbuf); this.lineBuffer.clear(); return len;
@Test public void testSimpleAppend() throws Exception { final ByteArrayBuffer buffer = new ByteArrayBuffer(16); Assert.assertEquals(16, buffer.capacity()); Assert.assertEquals(0, buffer.length()); final byte[] b1 = buffer.toByteArray(); Assert.assertNotNull(b1); Assert.assertEquals(0, b1.length); Assert.assertTrue(buffer.isEmpty()); Assert.assertFalse(buffer.isFull()); final byte[] tmp = new byte[] { 1, 2, 3, 4}; buffer.append(tmp, 0, tmp.length); Assert.assertEquals(16, buffer.capacity()); Assert.assertEquals(4, buffer.length()); Assert.assertFalse(buffer.isEmpty()); Assert.assertFalse(buffer.isFull()); final byte[] b2 = buffer.toByteArray(); Assert.assertNotNull(b2); Assert.assertEquals(4, b2.length); for (int i = 0; i < tmp.length; i++) { Assert.assertEquals(tmp[i], b2[i]); Assert.assertEquals(tmp[i], buffer.byteAt(i)); } buffer.clear(); Assert.assertEquals(16, buffer.capacity()); Assert.assertEquals(0, buffer.length()); Assert.assertTrue(buffer.isEmpty()); Assert.assertFalse(buffer.isFull()); }