@Override
    public long read(ByteBuffer[] dsts, int offset, int length) throws IOException {
        return socketChannel.read(dsts, offset, length);
    }
Reads a sequence of bytes from this channel into a subsequence of the given buffers.
@param dsts - The buffers into which bytes are to be transferred
@param offset - The offset within the buffer array of the first buffer into which bytes are to be transferred; must be non-negative and no larger than dsts.length.
@param length - The maximum number of buffers to be accessed; must be non-negative and no larger than dsts.length - offset
@return The number of bytes read, possibly zero, or -1 if the channel has reached end-of-stream.
@throws IOException if some other I/O error occurs
clients/src/main/java/org/apache/kafka/common/network/PlaintextTransportLayer.java