public Pooled<ByteBuffer[]> getData() { if (current == null) { return new ImmediatePooled<>(new ByteBuffer[0]); } if (data.isEmpty()) { final PooledByteBuffer current = this.current; current.getBuffer().flip(); this.current = null; final ByteBuffer[] data = new ByteBuffer[]{current.getBuffer()}; return new PooledByteBufferArray(Collections.singletonList(current), data); } current.getBuffer().flip(); data.add(current); current = null; ByteBuffer[] ret = new ByteBuffer[data.size()]; for (int i = 0; i < data.size(); ++i) { ret[i] = data.get(i).getBuffer(); } List<PooledByteBuffer> data = this.data; this.data = new ArrayList<>(); return new PooledByteBufferArray(data, ret); }
public Pooled<ByteBuffer[]> getData() { if (current == null) { return new ImmediatePooled<>(new ByteBuffer[0]); } if (data.isEmpty()) { final PooledByteBuffer current = this.current; current.getBuffer().flip(); this.current = null; final ByteBuffer[] data = new ByteBuffer[]{current.getBuffer()}; return new PooledByteBufferArray(Collections.singletonList(current), data); } current.getBuffer().flip(); data.add(current); current = null; ByteBuffer[] ret = new ByteBuffer[data.size()]; for (int i = 0; i < data.size(); ++i) { ret[i] = data.get(i).getBuffer(); } List<PooledByteBuffer> data = this.data; this.data = new ArrayList<>(); return new PooledByteBufferArray(data, ret); }
public Pooled<ByteBuffer[]> getData() { if (current == null) { return new ImmediatePooled<>(new ByteBuffer[0]); } if (data.isEmpty()) { final PooledByteBuffer current = this.current; current.getBuffer().flip(); this.current = null; final ByteBuffer[] data = new ByteBuffer[]{current.getBuffer()}; return new PooledByteBufferArray(Collections.singletonList(current), data); } current.getBuffer().flip(); data.add(current); current = null; ByteBuffer[] ret = new ByteBuffer[data.size()]; for (int i = 0; i < data.size(); ++i) { ret[i] = data.get(i).getBuffer(); } List<PooledByteBuffer> data = this.data; this.data = new ArrayList<>(); return new PooledByteBufferArray(data, ret); }
@Override public void close() { free(); } }
@Override public void close() { free(); } }
@Override public void close() { free(); } }