public void wrap(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
public DirectBufferOutputStream(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
case HeaderFlyweight.HDR_TYPE_DATA: final DataHeaderFlyweight dataFrame = DATA_HEADER; dataFrame.wrap(buffer, frameOffset, buffer.capacity() - frameOffset); dissect(dataFrame, builder); break; smFrame.wrap(buffer, frameOffset, buffer.capacity() - frameOffset); dissect(smFrame, builder); break; nakFrame.wrap(buffer, frameOffset, buffer.capacity() - frameOffset); dissect(nakFrame, builder); break; setupFrame.wrap(buffer, frameOffset, buffer.capacity() - frameOffset); dissect(setupFrame, builder); break; rttMeasurementFlyweight.wrap(buffer, frameOffset, buffer.capacity() - frameOffset); dissect(rttMeasurementFlyweight, builder); break;
@Test public void shouldInitialiseToDefaultValues() { assertThat(bufferBuilder.capacity(), is(0)); assertThat(bufferBuilder.buffer().capacity(), is(0)); assertThat(bufferBuilder.limit(), is(0)); }
@Test public void shouldGrowDirectBuffer() { final BufferBuilder builder = new BufferBuilder(0, true); assertThat(builder.capacity(), is(0)); assertThat(builder.buffer().capacity(), is(0)); assertThat(builder.limit(), is(0)); final int appendedLength = 10; final UnsafeBuffer srcBuffer = new UnsafeBuffer(new byte[appendedLength]); builder.append(srcBuffer, 0, srcBuffer.capacity()); assertThat(builder.capacity(), is(MIN_ALLOCATED_CAPACITY)); assertThat(builder.buffer().capacity(), is(MIN_ALLOCATED_CAPACITY)); assertThat(builder.limit(), is(appendedLength)); }
final int capacity = scratchBuffer.capacity(); if (length > capacity && !scratchBuffer.isExpandable())
@Test public void shouldStoreRawData() { final int typeIdOne = 333; final long keyOne = 777L; final MutableDirectBuffer keyOneBuffer = new UnsafeBuffer(ByteBuffer.allocateDirect(8)); keyOneBuffer.putLong(0, keyOne); final DirectBuffer labelOneBuffer = new UnsafeBuffer("Test Label One".getBytes(US_ASCII)); final int typeIdTwo = 222; final long keyTwo = 444; final MutableDirectBuffer keyTwoBuffer = new UnsafeBuffer(ByteBuffer.allocateDirect(8)); keyTwoBuffer.putLong(0, keyTwo); final DirectBuffer labelTwoBuffer = new UnsafeBuffer("Test Label Two".getBytes(US_ASCII)); final int counterIdOne = manager.allocate( typeIdOne, keyOneBuffer, 0, keyOneBuffer.capacity(), labelOneBuffer, 0, labelOneBuffer.capacity()); final int counterIdTwo = manager.allocate( typeIdTwo, keyTwoBuffer, 0, keyTwoBuffer.capacity(), labelTwoBuffer, 0, labelTwoBuffer.capacity()); manager.forEach(metaData); final ArgumentCaptor<DirectBuffer> argCaptorOne = ArgumentCaptor.forClass(DirectBuffer.class); final ArgumentCaptor<DirectBuffer> argCaptorTwo = ArgumentCaptor.forClass(DirectBuffer.class); final InOrder inOrder = Mockito.inOrder(metaData); inOrder.verify(metaData).accept(eq(counterIdOne), eq(typeIdOne), argCaptorOne.capture(), eq("Test Label One")); inOrder.verify(metaData).accept(eq(counterIdTwo), eq(typeIdTwo), argCaptorTwo.capture(), eq("Test Label Two")); inOrder.verifyNoMoreInteractions(); final DirectBuffer keyOneBufferCapture = argCaptorOne.getValue(); assertThat(keyOneBufferCapture.getLong(0), is(keyOne)); final DirectBuffer keyTwoBufferCapture = argCaptorTwo.getValue(); assertThat(keyTwoBufferCapture.getLong(0), is(keyTwo)); }
@Test public void shouldEqualOnDifferentTypeAndValue() { final MutableDirectBuffer lhsBuffer = new ExpandableArrayBuffer(); final MutableDirectBuffer rhsBuffer = new UnsafeBuffer(ByteBuffer.allocateDirect(lhsBuffer.capacity())); lhsBuffer.putStringUtf8(0, "Hello World"); rhsBuffer.putStringUtf8(0, "Hello World"); assertThat(lhsBuffer.compareTo(rhsBuffer), is(0)); }
@Override public int getLength() { return value.capacity(); }
private int remainingCapacity() { return buffer.capacity() - offset; }
private int remainingCapacity() { return buffer.capacity() - offset; }
@Override public void write(MutableDirectBuffer buffer, int offset) { buffer.putBytes(offset, value, 0, value.capacity()); }
public void wrap(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
public DirectBufferOutputStream(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
private void recycle(MutableDirectBuffer buffer) { buffer.setMemory(0, buffer.capacity(), (byte) 0); }
public DirectBufferOutputStream(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
public void wrap(final MutableDirectBuffer buffer) { wrap(buffer, 0, buffer.capacity()); }
private void recycle(MutableDirectBuffer buffer) { buffer.setMemory(0, buffer.capacity(), (byte) 0); }
private void consumeRequest() { final IncomingRaftRequest request = requestQueue.poll(); if (request != null) { final ServerOutput output = request.getOutput(); final RemoteAddress remoteAddress = request.getRemoteAddress(); final long requestId = request.getRequestId(); final MutableDirectBuffer requestData = request.getRequestData(); final int length = requestData.capacity(); if (configurationRequest.tryWrap(requestData, 0, length)) { configurationRequest(output, remoteAddress, requestId, configurationRequest); } else if (pollRequest.tryWrap(requestData, 0, length)) { pollRequest(output, remoteAddress, requestId, pollRequest); } else if (voteRequest.tryWrap(requestData, 0, length)) { voteRequest(output, remoteAddress, requestId, voteRequest); } } }