< prev index next >

src/java.base/windows/native/libnet/TwoStacksPlainDatagramSocketImpl.c

Print this page
rev 53271 : 8216981: Per thread IO statistics in JFR

*** 435,444 **** --- 435,445 ---- jboolean connected; SOCKETADDRESS rmtaddr; struct sockaddr *addrp = 0; int addrlen = 0; + int ret; if (IS_NULL(packet)) { JNU_ThrowNullPointerException(env, "null packet"); return; }
*** 513,528 **** fullPacket = &(BUF[0]); } (*env)->GetByteArrayRegion(env, packetBuffer, packetBufferOffset, packetBufferLen, (jbyte *)fullPacket); ! if (sendto(fd, fullPacket, packetBufferLen, 0, addrp, addrlen) == SOCKET_ERROR) { NET_ThrowCurrent(env, "Datagram send failed"); } if (packetBufferLen > MAX_BUFFER_LEN) { free(fullPacket); } } --- 514,533 ---- fullPacket = &(BUF[0]); } (*env)->GetByteArrayRegion(env, packetBuffer, packetBufferOffset, packetBufferLen, (jbyte *)fullPacket); ! if (ret = sendto(fd, fullPacket, packetBufferLen, 0, addrp, addrlen) == SOCKET_ERROR) { NET_ThrowCurrent(env, "Datagram send failed"); } + if (ret > 0) { + JVM_callFileWriteBytes(env, ret); + } + if (packetBufferLen > MAX_BUFFER_LEN) { free(fullPacket); } }
*** 1155,1164 **** --- 1160,1172 ---- * not connected so ignore it. */ retry = TRUE; } } + if (n > 0) { + JVM_callNetworkReadBytes(env, n); + } } while (retry); /* truncate the data if the packet's length is too small */ if (n > packetBufferLen) { n = packetBufferLen;
< prev index next >