[ https://issues.apache.org/jira/browse/FLINK-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16362515#comment-16362515 ]
ASF GitHub Bot commented on FLINK-8581: --------------------------------------- Github user StefanRRichter commented on a diff in the pull request: https://github.com/apache/flink/pull/5423#discussion_r167520277 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/buffer/BufferConsumer.java --- @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.flink.runtime.io.network.buffer; + +import org.apache.flink.core.memory.MemorySegment; +import org.apache.flink.runtime.io.network.buffer.BufferBuilder.PositionMarker; + +import javax.annotation.concurrent.NotThreadSafe; + +import java.io.Closeable; + +import static org.apache.flink.util.Preconditions.checkNotNull; +import static org.apache.flink.util.Preconditions.checkState; + +/** + * Not thread safe class for producing {@link Buffer}. + * + * <p>It reads data written by {@link BufferBuilder}. + * Although it is not thread safe and can be used only by one single thread, this thread can be different then the + * thread using/writing to {@link BufferBuilder}. Pattern here is simple: one thread writes data to + * {@link BufferBuilder} and there can be a different thread reading from it using {@link BufferConsumer}. + */ +@NotThreadSafe +public class BufferConsumer implements Closeable { --- End diff -- Just a thought about names: this is called `BufferConsumer`, but it does not "consume" buffers. It is coordinating the production of read slices from a shared buffer. `BufferBuilder` makes more sense then this. Even worse, this class has a `build() : Buffer` method :-(. > Improve performance for low latency network > ------------------------------------------- > > Key: FLINK-8581 > URL: https://issues.apache.org/jira/browse/FLINK-8581 > Project: Flink > Issue Type: Improvement > Components: Network > Affects Versions: 1.5.0 > Reporter: Piotr Nowojski > Assignee: Piotr Nowojski > Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)