private void configureSocketChannel(SocketChannel socketChannel, int sendBufferSize, int receiveBufferSize)
            throws IOException {
        socketChannel.configureBlocking(false);
        Socket socket = socketChannel.socket();
        socket.setKeepAlive(true);
        if (sendBufferSize != Selectable.USE_DEFAULT_BUFFER_SIZE)
            socket.setSendBufferSize(sendBufferSize);
        if (receiveBufferSize != Selectable.USE_DEFAULT_BUFFER_SIZE)
            socket.setReceiveBufferSize(receiveBufferSize);
        socket.setTcpNoDelay(true);
    }
Begin connecting to the given address and add the connection to this nioSelector associated with the given id
number.
<p>
Note that this call only initiates the connection, which will be completed on a future {@link #poll(long)}
call. Check {@link #connected()} to see which (if any) connections have completed after a given poll call.
@param id The id for the new connection
@param address The address to connect to
@param sendBufferSize The send buffer for the new connection
@param receiveBufferSize The receive buffer for the new connection
@throws IllegalStateException if there is already a connection for that id
@throws IOException if DNS resolution fails on the hostname or if the broker is down
clients/src/main/java/org/apache/kafka/common/network/Selector.java