jdk/src/windows/native/sun/nio/ch/DatagramChannelImpl.c

Print this page
rev 5725 : Merge

*** 32,43 **** #include "nio.h" #include "nio_util.h" #include "net_util.h" #include <winsock2.h> - static jfieldID isa_addrID; /* address in java.net.InetSocketAddress */ - static jfieldID isa_portID; /* port in java.net.InetSocketAddress */ static jfieldID dci_senderID; /* sender in sun.nio.ch.DatagramChannelImpl */ static jfieldID dci_senderAddrID; /* sender InetAddress in sun.nio.ch.DatagramChannelImpl */ static jfieldID dci_senderPortID; /* sender port in sun.nio.ch.DatagramChannelImpl */ static jclass isa_class; /* java.net.InetSocketAddress */ static jmethodID isa_ctorID; /* java.net.InetSocketAddress(InetAddress, int) */ --- 32,41 ----
*** 48,60 **** { clazz = (*env)->FindClass(env, "java/net/InetSocketAddress"); isa_class = (*env)->NewGlobalRef(env, clazz); isa_ctorID = (*env)->GetMethodID(env, clazz, "<init>", "(Ljava/net/InetAddress;I)V"); - isa_addrID = (*env)->GetFieldID(env, clazz, "addr", - "Ljava/net/InetAddress;"); - isa_portID = (*env)->GetFieldID(env, clazz, "port", "I"); clazz = (*env)->FindClass(env, "sun/nio/ch/DatagramChannelImpl"); dci_senderID = (*env)->GetFieldID(env, clazz, "sender", "Ljava/net/SocketAddress;"); dci_senderAddrID = (*env)->GetFieldID(env, clazz, --- 46,55 ----
*** 212,230 **** } JNIEXPORT jint JNICALL Java_sun_nio_ch_DatagramChannelImpl_send0(JNIEnv *env, jobject this, jboolean preferIPv6, jobject fdo, ! jlong address, jint len, jobject dest) { jint fd = fdval(env, fdo); void *buf = (void *)jlong_to_ptr(address); SOCKETADDRESS sa; int sa_len; jint rv = 0; - jobject destAddress = (*env)->GetObjectField(env, dest, isa_addrID); - jint destPort = (*env)->GetIntField(env, dest, isa_portID); if (NET_InetAddressToSockaddr(env, destAddress, destPort, (struct sockaddr *)&sa, &sa_len, preferIPv6) != 0) { return IOS_THROWN; --- 207,224 ---- } JNIEXPORT jint JNICALL Java_sun_nio_ch_DatagramChannelImpl_send0(JNIEnv *env, jobject this, jboolean preferIPv6, jobject fdo, ! jlong address, jint len, ! jobject destAddress, jint destPort) { jint fd = fdval(env, fdo); void *buf = (void *)jlong_to_ptr(address); SOCKETADDRESS sa; int sa_len; jint rv = 0; if (NET_InetAddressToSockaddr(env, destAddress, destPort, (struct sockaddr *)&sa, &sa_len, preferIPv6) != 0) { return IOS_THROWN;