@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
@Override public boolean replace(final Buffer oldBuffer, final Buffer newBuffer) { if (newBuffer == this) { throw new IllegalArgumentException("CompositeBuffer can not append itself"); } for (int i = 0; i < buffersSize; i++) { final Buffer b = buffers[i]; if (b == oldBuffer) { buffers[i] = newBuffer; refreshBuffers(); limit = capacity; if (position > limit) { position = limit; } resetLastLocation(); return true; } else if (b.isComposite()) { if (((CompositeBuffer) b).replace(oldBuffer, newBuffer)) { break; } } } return false; }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
Buffer clone0(final MemoryManager memoryManager, final Buffer originalMessage) { if (originalMessage.isComposite()) { final CompositeBuffer compositeBuffer = (CompositeBuffer) originalMessage; compositeBuffer.shrink(); if (!temporaryWriteBuffer.isDisposed()) { if (compositeBuffer.remaining() == temporaryWriteBuffer.remaining()) { compositeBuffer.allowInternalBuffersDispose(false); compositeBuffer.tryDispose(); return temporaryWriteBuffer.cloneContent(memoryManager); } else { compositeBuffer.replace(temporaryWriteBuffer, temporaryWriteBuffer.cloneContent(memoryManager)); } } return originalMessage; } return temporaryWriteBuffer.cloneContent(memoryManager); } }
@Override public Buffer clone(final Connection connection, final Buffer originalMessage) { final SSLConnectionContext sslCtx = getSslConnectionContext(connection); final int copyThreshold = sslCtx.getNetBufferSize() / 2; final Buffer lastOutputBuffer = sslCtx.resetLastOutputBuffer(); final int totalRemaining = originalMessage.remaining(); if (totalRemaining < copyThreshold) { return move(connection.getMemoryManager(), originalMessage); } if (lastOutputBuffer.remaining() < copyThreshold) { final Buffer tmpBuf = copy(connection.getMemoryManager(), originalMessage); if (originalMessage.isComposite()) { ((CompositeBuffer) originalMessage).replace( lastOutputBuffer, tmpBuf); } else { assert originalMessage == lastOutputBuffer; } lastOutputBuffer.tryDispose(); return tmpBuf; } return originalMessage; } }
@Override public Buffer clone(final Connection connection, final Buffer originalMessage) { final SSLConnectionContext sslCtx = getSslConnectionContext(connection); final int copyThreshold = sslCtx.getNetBufferSize() / 2; final Buffer lastOutputBuffer = sslCtx.resetLastOutputBuffer(); final int totalRemaining = originalMessage.remaining(); if (totalRemaining < copyThreshold) { return move(connection.getMemoryManager(), originalMessage); } if (lastOutputBuffer.remaining() < copyThreshold) { final Buffer tmpBuf = copy(connection.getMemoryManager(), originalMessage); if (originalMessage.isComposite()) { ((CompositeBuffer) originalMessage).replace( lastOutputBuffer, tmpBuf); } else { assert originalMessage == lastOutputBuffer; } lastOutputBuffer.tryDispose(); return tmpBuf; } return originalMessage; } }