public boolean trySend(Dispatcher sendBuffer) { final int requiredLength = getLength(); long claimedOffset; do { claimedOffset = sendBuffer.claim(claimedFragment, requiredLength, remoteStreamId); } while (claimedOffset == -2); if (claimedOffset >= 0) { try { final MutableDirectBuffer buffer = claimedFragment.getBuffer(); final int writeOffset = claimedFragment.getOffset(); write(buffer, writeOffset); claimedFragment.commit(); return true; } catch (Throwable e) { claimedFragment.abort(); } } return false; }
public boolean trySend(Dispatcher sendBuffer) { final int requiredLength = getLength(); long claimedOffset; do { claimedOffset = sendBuffer.claim(claimedFragment, requiredLength, remoteStreamId); } while (claimedOffset == -2); if (claimedOffset >= 0) { try { final MutableDirectBuffer buffer = claimedFragment.getBuffer(); final int writeOffset = claimedFragment.getOffset(); write(buffer, writeOffset); claimedFragment.commit(); return true; } catch (Throwable e) { claimedFragment.abort(); } } return false; }
private boolean handleControlMessageRequest( final RecordMetadata eventMetadata, final DirectBuffer buffer, final int messageOffset, final int messageLength) { boolean isHandled = false; long publishPosition; do { publishPosition = controlMessageDispatcher.claim( claimedControlMessageFragment, ControlMessageRequestHeaderDescriptor.framedLength(messageLength)); } while (publishPosition == -2); if (publishPosition >= 0) { final MutableDirectBuffer writeBuffer = claimedControlMessageFragment.getBuffer(); int writeBufferOffset = claimedControlMessageFragment.getOffset(); controlMessageRequestHeaderDescriptor .wrap(writeBuffer, writeBufferOffset) .streamId(eventMetadata.getRequestStreamId()) .requestId(eventMetadata.getRequestId()); writeBufferOffset += ControlMessageRequestHeaderDescriptor.headerLength(); writeBuffer.putBytes(writeBufferOffset, buffer, messageOffset, messageLength); claimedControlMessageFragment.commit(); isHandled = true; } return isHandled; }
private boolean handleControlMessageRequest( final RecordMetadata eventMetadata, final DirectBuffer buffer, final int messageOffset, final int messageLength) { boolean isHandled = false; long publishPosition; do { publishPosition = controlMessageDispatcher.claim( claimedControlMessageFragment, ControlMessageRequestHeaderDescriptor.framedLength(messageLength)); } while (publishPosition == -2); if (publishPosition >= 0) { final MutableDirectBuffer writeBuffer = claimedControlMessageFragment.getBuffer(); int writeBufferOffset = claimedControlMessageFragment.getOffset(); controlMessageRequestHeaderDescriptor .wrap(writeBuffer, writeBufferOffset) .streamId(eventMetadata.getRequestStreamId()) .requestId(eventMetadata.getRequestId()); writeBufferOffset += ControlMessageRequestHeaderDescriptor.headerLength(); writeBuffer.putBytes(writeBufferOffset, buffer, messageOffset, messageLength); claimedControlMessageFragment.commit(); isHandled = true; } return isHandled; }
final MutableDirectBuffer writeBuffer = claimedFragment.getBuffer(); final int bufferOffset = claimedFragment.getOffset();
final MutableDirectBuffer writeBuffer = claimedFragment.getBuffer(); final int bufferOffset = claimedFragment.getOffset();