Here you can find the source of write(SocketChannel channel, ByteBuffer b, PrimitiveIterator.OfInt iterator)
private static int write(SocketChannel channel, ByteBuffer b, PrimitiveIterator.OfInt iterator) throws IOException
//package com.java2s; /**/* w ww . j a va 2s . c om*/ * Copyright 2016-2019 The Reaktivity Project * * The Reaktivity Project 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. */ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.util.PrimitiveIterator; public class Main { public static final int ALL = -1; private static int write(SocketChannel channel, ByteBuffer b, PrimitiveIterator.OfInt iterator) throws IOException { int bytesToWrite = iterator.hasNext() ? iterator.nextInt() : ALL; bytesToWrite = bytesToWrite == ALL ? b.remaining() : bytesToWrite; int limit = b.limit(); b.limit(b.position() + bytesToWrite); int written = channel.write(b); b.limit(limit); return written; } }