public void wrap(final DirectBuffer buffer, final int offset) { this.fragmentOffset = offset; this.messageOffset = messageOffset(fragmentOffset); this.buffer = buffer; }
public void wrap(final DirectBuffer buffer, final int offset) { this.fragmentOffset = offset; this.messageOffset = messageOffset(fragmentOffset); this.buffer = buffer; }
public static long getPosition(final DirectBuffer buffer, final int offset) { return buffer.getLong(positionOffset(messageOffset(offset)), Protocol.ENDIANNESS); }
public static long getPosition(final DirectBuffer buffer, final int offset) { return buffer.getLong(positionOffset(messageOffset(offset)), Protocol.ENDIANNESS); }
@Override public DirectBuffer next() { final int framedFragmentLength = bufferView.getInt(DataFrameDescriptor.lengthOffset(iterationOffset)); final int fragmentLength = DataFrameDescriptor.messageLength(framedFragmentLength); final int messageOffset = DataFrameDescriptor.messageOffset(iterationOffset); buffer.wrap(bufferView, messageOffset, fragmentLength); iterationOffset += DataFrameDescriptor.alignedLength(framedFragmentLength); return buffer; } }
@Override public DirectBuffer next() { final int framedFragmentLength = bufferView.getInt(DataFrameDescriptor.lengthOffset(iterationOffset)); final int fragmentLength = DataFrameDescriptor.messageLength(framedFragmentLength); final int messageOffset = DataFrameDescriptor.messageOffset(iterationOffset); buffer.wrap(bufferView, messageOffset, fragmentLength); iterationOffset += DataFrameDescriptor.alignedLength(framedFragmentLength); return buffer; } }
channelReadBufferView.getInt(DataFrameDescriptor.lengthOffset(offset)); final int msgLength = DataFrameDescriptor.messageLength(framedLength); final int msgOffset = DataFrameDescriptor.messageOffset(offset); final int frameLength = DataFrameDescriptor.alignedLength(framedLength);
channelReadBufferView.getInt(DataFrameDescriptor.lengthOffset(offset)); final int msgLength = DataFrameDescriptor.messageLength(framedLength); final int msgOffset = DataFrameDescriptor.messageOffset(offset); final int frameLength = DataFrameDescriptor.alignedLength(framedLength);
@SuppressWarnings("restriction") public int appendFrame( final LogBufferPartition partition, final int activePartitionId, final DirectBuffer msg, final int start, final int length, final int streamId) { final int partitionSize = partition.getPartitionSize(); final int framedLength = framedLength(length); final int alignedFrameLength = alignedLength(framedLength); // move the tail of the partition final int frameOffset = partition.getAndAddTail(alignedFrameLength); int newTail = frameOffset + alignedFrameLength; if (newTail <= (partitionSize - HEADER_LENGTH)) { final UnsafeBuffer buffer = partition.getDataBuffer(); // write negative length field buffer.putIntOrdered(lengthOffset(frameOffset), -framedLength); UNSAFE.storeFence(); buffer.putShort(typeOffset(frameOffset), TYPE_MESSAGE); buffer.putInt(streamIdOffset(frameOffset), streamId); buffer.putBytes(messageOffset(frameOffset), msg, start, length); // commit the message buffer.putIntOrdered(lengthOffset(frameOffset), framedLength); } else { newTail = onEndOfPartition(partition, frameOffset); } return newTail; }
@SuppressWarnings("restriction") public int appendFrame( final LogBufferPartition partition, final int activePartitionId, final DirectBuffer msg, final int start, final int length, final int streamId) { final int partitionSize = partition.getPartitionSize(); final int framedLength = framedLength(length); final int alignedFrameLength = alignedLength(framedLength); // move the tail of the partition final int frameOffset = partition.getAndAddTail(alignedFrameLength); int newTail = frameOffset + alignedFrameLength; if (newTail <= (partitionSize - HEADER_LENGTH)) { final UnsafeBuffer buffer = partition.getDataBuffer(); // write negative length field buffer.putIntOrdered(lengthOffset(frameOffset), -framedLength); UNSAFE.storeFence(); buffer.putShort(typeOffset(frameOffset), TYPE_MESSAGE); buffer.putInt(streamIdOffset(frameOffset), streamId); buffer.putBytes(messageOffset(frameOffset), msg, start, length); // commit the message buffer.putIntOrdered(lengthOffset(frameOffset), framedLength); } else { newTail = onEndOfPartition(partition, frameOffset); } return newTail; }
final int handlerResult = frgHandler.onFragment( buffer, messageOffset(fragmentOffset), messageLength, streamId, isMarkedAsFailed);
final int handlerResult = frgHandler.onFragment( buffer, messageOffset(fragmentOffset), messageLength, streamId, isMarkedAsFailed);