Package org.apache.flink.runtime.io.network

Examples of org.apache.flink.runtime.io.network.Buffer


    Assert.assertEquals(0, bufferPool.numRequestedBuffers());

    // this request-recycle cycle should only take a single buffer out of
    // the GlobalBufferPool as it is recycled over and over again
    for (int numRequested = 0; numRequested < NUM_BUFFERS; numRequested++) {
      Buffer buffer = bufferPool.requestBuffer(BUFFER_SIZE);

      Assert.assertEquals(BUFFER_SIZE, buffer.size());

      Assert.assertEquals("Expected single buffer request in buffer pool.",
          1, bufferPool.numRequestedBuffers());
      Assert.assertEquals("Expected no available buffer in buffer pool.",
          0, bufferPool.numAvailableBuffers());

      buffer.recycleBuffer();

      Assert.assertEquals("Expected single available buffer after recycle.",
          1, bufferPool.numAvailableBuffers());
    }
View Full Code Here


    final int SERIALIZATION_OVERHEAD = 4; // length encoding

    final RecordSerializer<SerializationTestType> serializer = new SpanningRecordSerializer<SerializationTestType>();
    final RecordDeserializer<SerializationTestType> deserializer = new AdaptiveSpanningRecordDeserializer<SerializationTestType>();

    final Buffer buffer = new Buffer(new MemorySegment(new byte[segmentSize]), segmentSize, null);

    final ArrayDeque<SerializationTestType> serializedRecords = new ArrayDeque<SerializationTestType>();

    // -------------------------------------------------------------------------------------------------------------
View Full Code Here

  @Test
  public void testSingleConsumerNonBlockingRequestSmall() throws IOException {
    final LocalBufferPool bufferPool = new LocalBufferPool(GLOBAL_BUFFER_POOL, NUM_BUFFERS);

    // request smaller buffer and verify size
    Buffer buffer = bufferPool.requestBuffer(BUFFER_SIZE / 2);

    Assert.assertEquals(BUFFER_SIZE / 2, buffer.size());

    buffer.recycleBuffer();

    bufferPool.destroy();
  }
View Full Code Here

      }
    }, 500);

    //
    try {
      Buffer buffer = bufferPool.requestBufferBlocking(BUFFER_SIZE);
      Assert.assertNotNull(buffer);

      buffer.recycleBuffer();
    } catch (InterruptedException e) {
      Assert.fail("Unexpected InterruptedException during test.");
    }

    // recycle remaining buffers
View Full Code Here

      synchronized (serializer) {
        RecordSerializer.SerializationResult result = serializer
            .addRecord(record);
        while (result.isFullBuffer()) {
          Buffer buffer = serializer.getCurrentBuffer();
          if (buffer != null) {
            sendBuffer(buffer, targetChannel);
          }

          buffer = this.bufferPool
View Full Code Here

  @Override
  public void flush() throws IOException, InterruptedException {
    for (int targetChannel = 0; targetChannel < this.numChannels; targetChannel++) {
      RecordSerializer<T> serializer = this.serializers[targetChannel];
      synchronized (serializer) {
        Buffer buffer = serializer.getCurrentBuffer();
        if (buffer != null) {
          sendBuffer(buffer, targetChannel);
        }

        serializer.clear();
View Full Code Here

    this.outputs = new LinkedList<OutputGate>();

    this.memManager = new DefaultMemoryManager(memorySize, 1);
    this.ioManager = new IOManager(System.getProperty("java.io.tmpdir"));
    this.inputSplitProvider = inputSplitProvider;
    this.mockBuffer = new Buffer(new MemorySegment(new byte[bufferSize]), bufferSize, null);
  }
View Full Code Here

  public Buffer requestBuffer(int sizeOfBuffer) throws IOException {
    if (rnd.nextFloat() < this.probabilityForNoneAvailable) {
      return null;
    } else {
      MemorySegment segment = new MemorySegment(new byte[this.sizeOfMemorySegments]);
      return new Buffer(segment, sizeOfBuffer, this.recycler);
    }
  }
View Full Code Here

  }

  @Override
  public Buffer requestBufferBlocking(int sizeOfBuffer) throws IOException, InterruptedException {
    MemorySegment segment = new MemorySegment(new byte[this.sizeOfMemorySegments]);
    return new Buffer(segment, sizeOfBuffer, this.recycler);
  }
View Full Code Here

  @Override
  public void releaseAllResources() {
    this.senderClosedChannel = true;
    this.deserializer.clear();
   
    Buffer buf = this.dataBuffer;
    if (buf != null) {
      buf.recycleBuffer();
      dataBuffer = null;
    }

    // The buffers are recycled by the input channel wrapper
  }
View Full Code Here

TOP

Related Classes of org.apache.flink.runtime.io.network.Buffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.