正在查看: BodyTech v7.6.4 应用的 JavaSocketOptionsKt.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: BodyTech v7.6.4 应用的 JavaSocketOptionsKt.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.ktor.network.sockets;
import io.ktor.network.sockets.SocketOptions;
import java.net.SocketOption;
import java.net.StandardSocketOptions;
import java.nio.channels.DatagramChannel;
import java.nio.channels.SelectableChannel;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import kotlin.Metadata;
@Metadata(d1 = {"\u0000\u001c\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u0014\u0010\u0004\u001a\u00020\u0005*\u00020\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0000\u001a\f\u0010\t\u001a\u00020\u0005*\u00020\u0006H\u0000\"\u0014\u0010\u0000\u001a\u00020\u0001X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0002\u0010\u0003¨\u0006\n"}, d2 = {"java7NetworkApisAvailable", "", "getJava7NetworkApisAvailable", "()Z", "assignOptions", "", "Ljava/nio/channels/SelectableChannel;", "options", "Lio/ktor/network/sockets/SocketOptions;", "nonBlocking", "ktor-network"}, k = 2, mv = {1, 8, 0}, xi = 48)
public final class JavaSocketOptionsKt {
private static final boolean java7NetworkApisAvailable;
static {
boolean z;
try {
Class.forName("java.net.StandardSocketOptions");
z = true;
} catch (ClassNotFoundException unused) {
z = false;
}
java7NetworkApisAvailable = z;
}
public static final void assignOptions(SelectableChannel selectableChannel, SocketOptions options) {
SocketOption socketOption;
SocketOption socketOption2;
SocketOption socketOption3;
SocketOption socketOption4;
SocketOption socketOption5;
SocketOption socketOption6;
SocketOption socketOption7;
SocketOption socketOption8;
SocketOption socketOption9;
SocketOption socketOption10;
SocketOption socketOption11;
SocketOption socketOption12;
SocketOption socketOption13;
kotlin.jvm.internal.r.i(selectableChannel, "<this>");
kotlin.jvm.internal.r.i(options, "options");
if (selectableChannel instanceof SocketChannel) {
if (!TypeOfService.m43equalsimpl0(options.getTypeOfService(), TypeOfService.INSTANCE.m53getUNDEFINEDzieKYfw())) {
if (java7NetworkApisAvailable) {
socketOption13 = StandardSocketOptions.IP_TOS;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption13), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(options.getTypeOfService() & 255)));
} else {
((SocketChannel) selectableChannel).socket().setTrafficClass(options.getTypeOfService() & 255);
}
}
if (options.getReuseAddress()) {
if (java7NetworkApisAvailable) {
socketOption12 = StandardSocketOptions.SO_REUSEADDR;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption12), (SocketOption<SocketOption>) ((SocketOption) Boolean.TRUE));
} else {
((SocketChannel) selectableChannel).socket().setReuseAddress(true);
}
}
if (options.getReusePort()) {
SocketOptionsPlatformCapabilities.INSTANCE.setReusePort((SocketChannel) selectableChannel);
}
if (options instanceof SocketOptions.PeerSocketOptions) {
SocketOptions.PeerSocketOptions peerSocketOptions = (SocketOptions.PeerSocketOptions) options;
Integer valueOf = Integer.valueOf(peerSocketOptions.getReceiveBufferSize());
if (valueOf.intValue() <= 0) {
valueOf = null;
}
if (valueOf != null) {
int intValue = valueOf.intValue();
if (java7NetworkApisAvailable) {
socketOption11 = StandardSocketOptions.SO_RCVBUF;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption11), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(intValue)));
} else {
((SocketChannel) selectableChannel).socket().setReceiveBufferSize(intValue);
}
}
Integer valueOf2 = Integer.valueOf(peerSocketOptions.getSendBufferSize());
if (valueOf2.intValue() <= 0) {
valueOf2 = null;
}
if (valueOf2 != null) {
int intValue2 = valueOf2.intValue();
if (java7NetworkApisAvailable) {
socketOption10 = StandardSocketOptions.SO_SNDBUF;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption10), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(intValue2)));
} else {
((SocketChannel) selectableChannel).socket().setSendBufferSize(intValue2);
}
}
}
if (options instanceof SocketOptions.TCPClientSocketOptions) {
SocketOptions.TCPClientSocketOptions tCPClientSocketOptions = (SocketOptions.TCPClientSocketOptions) options;
Integer valueOf3 = Integer.valueOf(tCPClientSocketOptions.getLingerSeconds());
if (valueOf3.intValue() < 0) {
valueOf3 = null;
}
if (valueOf3 != null) {
int intValue3 = valueOf3.intValue();
if (java7NetworkApisAvailable) {
socketOption9 = StandardSocketOptions.SO_LINGER;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption9), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(intValue3)));
} else {
((SocketChannel) selectableChannel).socket().setSoLinger(true, intValue3);
}
}
Boolean keepAlive = tCPClientSocketOptions.getKeepAlive();
if (keepAlive != null) {
boolean booleanValue = keepAlive.booleanValue();
if (java7NetworkApisAvailable) {
socketOption8 = StandardSocketOptions.SO_KEEPALIVE;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption8), (SocketOption<SocketOption>) ((SocketOption) Boolean.valueOf(booleanValue)));
} else {
((SocketChannel) selectableChannel).socket().setKeepAlive(booleanValue);
}
}
if (java7NetworkApisAvailable) {
socketOption7 = StandardSocketOptions.TCP_NODELAY;
((SocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption7), (SocketOption<SocketOption>) ((SocketOption) Boolean.valueOf(tCPClientSocketOptions.getNoDelay())));
} else {
((SocketChannel) selectableChannel).socket().setTcpNoDelay(tCPClientSocketOptions.getNoDelay());
}
}
}
if (selectableChannel instanceof ServerSocketChannel) {
if (options.getReuseAddress()) {
if (java7NetworkApisAvailable) {
socketOption6 = StandardSocketOptions.SO_REUSEADDR;
((ServerSocketChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption6), (SocketOption<SocketOption>) ((SocketOption) Boolean.TRUE));
} else {
((ServerSocketChannel) selectableChannel).socket().setReuseAddress(true);
}
}
if (options.getReusePort()) {
SocketOptionsPlatformCapabilities.INSTANCE.setReusePort((ServerSocketChannel) selectableChannel);
}
}
if (selectableChannel instanceof DatagramChannel) {
if (!TypeOfService.m43equalsimpl0(options.getTypeOfService(), TypeOfService.INSTANCE.m53getUNDEFINEDzieKYfw())) {
if (java7NetworkApisAvailable) {
socketOption5 = StandardSocketOptions.IP_TOS;
((DatagramChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption5), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(options.getTypeOfService() & 255)));
} else {
((DatagramChannel) selectableChannel).socket().setTrafficClass(options.getTypeOfService() & 255);
}
}
if (options.getReuseAddress()) {
if (java7NetworkApisAvailable) {
socketOption4 = StandardSocketOptions.SO_REUSEADDR;
((DatagramChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption4), (SocketOption<SocketOption>) ((SocketOption) Boolean.TRUE));
} else {
((DatagramChannel) selectableChannel).socket().setReuseAddress(true);
}
}
if (options.getReusePort()) {
SocketOptionsPlatformCapabilities.INSTANCE.setReusePort((DatagramChannel) selectableChannel);
}
if (options instanceof SocketOptions.UDPSocketOptions) {
if (java7NetworkApisAvailable) {
socketOption3 = StandardSocketOptions.SO_BROADCAST;
((DatagramChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption3), (SocketOption<SocketOption>) ((SocketOption) Boolean.valueOf(((SocketOptions.UDPSocketOptions) options).getBroadcast())));
} else {
((DatagramChannel) selectableChannel).socket().setBroadcast(((SocketOptions.UDPSocketOptions) options).getBroadcast());
}
}
if (options instanceof SocketOptions.PeerSocketOptions) {
SocketOptions.PeerSocketOptions peerSocketOptions2 = (SocketOptions.PeerSocketOptions) options;
Integer valueOf4 = Integer.valueOf(peerSocketOptions2.getReceiveBufferSize());
if (valueOf4.intValue() <= 0) {
valueOf4 = null;
}
if (valueOf4 != null) {
int intValue4 = valueOf4.intValue();
if (java7NetworkApisAvailable) {
socketOption2 = StandardSocketOptions.SO_RCVBUF;
((DatagramChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption2), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(intValue4)));
} else {
((DatagramChannel) selectableChannel).socket().setReceiveBufferSize(intValue4);
}
}
Integer valueOf5 = Integer.valueOf(peerSocketOptions2.getSendBufferSize());
Integer num = valueOf5.intValue() > 0 ? valueOf5 : null;
if (num != null) {
int intValue5 = num.intValue();
if (!java7NetworkApisAvailable) {
((DatagramChannel) selectableChannel).socket().setSendBufferSize(intValue5);
} else {
socketOption = StandardSocketOptions.SO_SNDBUF;
((DatagramChannel) selectableChannel).setOption((SocketOption<SocketOption<SocketOption>>) ((SocketOption<SocketOption>) socketOption), (SocketOption<SocketOption>) ((SocketOption) Integer.valueOf(intValue5)));
}
}
}
}
}
public static final boolean getJava7NetworkApisAvailable() {
return java7NetworkApisAvailable;
}
public static final void nonBlocking(SelectableChannel selectableChannel) {
kotlin.jvm.internal.r.i(selectableChannel, "<this>");
selectableChannel.configureBlocking(false);
}
}