[#4127] Correctly set traffic class and so linger.
Motivation: The method implementions for setSoLinger(...) and setTrafficClass(...) were swapped by mistake. Modifications: Use the correct implementation for setSoLinger(...) and setTrafficClass(...) Result: Correct behaviour when setSoLinger(...) and setTrafficClass(...) are used with the epoll transport.
This commit is contained in:
parent
33001e84ff
commit
fb0fe111ac
@ -1217,10 +1217,6 @@ JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setTcpNotSentLowAt(JNI
|
|||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setSoLinger(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setSoLinger(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
||||||
setOption(env, fd, IPPROTO_IP, IP_TOS, &optval, sizeof(optval));
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setTrafficClass(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
|
||||||
struct linger solinger;
|
struct linger solinger;
|
||||||
if (optval < 0) {
|
if (optval < 0) {
|
||||||
solinger.l_onoff = 0;
|
solinger.l_onoff = 0;
|
||||||
@ -1232,6 +1228,10 @@ JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setTrafficClass(JNIEnv
|
|||||||
setOption(env, fd, SOL_SOCKET, SO_LINGER, &solinger, sizeof(solinger));
|
setOption(env, fd, SOL_SOCKET, SO_LINGER, &solinger, sizeof(solinger));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setTrafficClass(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
||||||
|
setOption(env, fd, IPPROTO_IP, IP_TOS, &optval, sizeof(optval));
|
||||||
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setBroadcast(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
JNIEXPORT void JNICALL Java_io_netty_channel_epoll_Native_setBroadcast(JNIEnv* env, jclass clazz, jint fd, jint optval) {
|
||||||
setOption(env, fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval));
|
setOption(env, fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user