size=array.length
-1
=0
>0
344345346347348349350351352353354
try { if (isBlocking) { begin(); // JDK contract for NIO blocking calls } if (buffer.isDirect()) { sizeSent = socket.send(buffer); } else { assert buffer.hasArray(); byte[] array = buffer.array(); int position = buffer.position(); int limit = buffer.limit();
350351352353354355356357358359360
} else { assert buffer.hasArray(); byte[] array = buffer.array(); int position = buffer.position(); int limit = buffer.limit(); sizeSent = socket.send(array, position, limit); if (0 < sizeSent && sizeSent <= remaining) { buffer.position(position + sizeSent); } } } finally {
312313314315316317318319320321322
318319320321322323324325326327328
422423424425426427428429430431432
} if (buffer.isDirect()) { do { ret = socket.send(buffer); if (ret > 0) sizeSent += ret; } while (buffer.hasRemaining() && isBlocking);
436437438439440441442443444445446
final byte[] array = buffer.array(); int position = buffer.position(); final int limit = buffer.limit(); do { ret = socket.send(array, position, limit); if (0 < ret && ret <= remaining) { sizeSent += ret; position += ret; buffer.position(position);
90919293949596979899100
final byte[] array = new byte[SIZE]; putSequenceNumber(array); final int result = sender.send(array); assert result == SIZE : "wrong size"; }
419420421422423424425426427428429
begin(); // JDK contract for NIO blocking calls } if (buffer.isDirect()) { sizeSent = socket.send(buffer); } else { final byte[] array = buffer.array(); final int position = buffer.position();