Code example for ByteArrayBuffer

Methods: appendbuffercapacityclearlength

0
            this.outstream.flush();
        } 
    } 
 
    private void flushBuffer() throws IOException { 
        final int len = this.buffer.length();
        if (len > 0) {
            streamWrite(this.buffer.buffer(), 0, len);
            this.buffer.clear();
            this.metrics.incrementBytesTransferred(len);
        } 
    } 
 
    public void flush() throws IOException { 
        flushBuffer(); 
        flushStream(); 
    } 
 
    public void write(final byte[] b, final int off, final int len) throws IOException {
        if (b == null) {
            return; 
        } 
        // Do not want to buffer large-ish chunks 
        // if the byte array is larger then MIN_CHUNK_LIMIT 
        // write it directly to the output stream 
        if (len > this.fragementSizeHint || len > this.buffer.capacity()) {
            // flush the buffer 
            flushBuffer(); 
            // write directly to the out stream 
            streamWrite(b, off, len);
            this.metrics.incrementBytesTransferred(len);
        } else { 
            // Do not let the buffer grow unnecessarily 
            final int freecapacity = this.buffer.capacity() - this.buffer.length();
            if (len > freecapacity) {
                // flush the buffer 
                flushBuffer(); 
            } 
            // buffer 
            this.buffer.append(b, off, len);
        } 
    } 
 
    public void write(final byte[] b) throws IOException {
        if (b == null) {