Class Socket
java.lang.Object
io.netty.channel.unix.FileDescriptor
io.netty.channel.unix.Socket
- Direct Known Subclasses:
BsdSocket, LinuxSocket, LinuxSocket
Provides a JNI bridge to native socket operations.
Internal usage only!
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprivate static booleanstatic final intDeprecated.Fields inherited from class FileDescriptor
fd, state -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intaccept(byte[] addr) private static intaccept(int fd, byte[] addr) private static intbind(int fd, boolean ipv6, byte[] address, int scopeId, int port) final voidbind(java.net.SocketAddress socketAddress) private static intbindDomainSocket(int fd, byte[] path) private static intconnect(int fd, boolean ipv6, byte[] address, int scopeId, int port) final booleanconnect(java.net.SocketAddress socketAddress) private static intconnectDomainSocket(int fd, byte[] path) final voidprivate static intdisconnect(int fd, boolean ipv6) final booleanprivate static intfinishConnect(int fd) intgetIntOpt(int level, int optname) private static intgetIntOpt(int fd, int level, int optname) voidgetRawOpt(int level, int optname, java.nio.ByteBuffer out) private static voidgetRawOptAddress(int fd, int level, int optname, long outMemoryAddress, int length) private static voidgetRawOptArray(int fd, int level, int optname, byte[] out, int offset, int length) final intprivate static intgetReceiveBufferSize(int fd) final intprivate static intgetSendBufferSize(int fd) final intprivate static intgetSoError(int fd) final intprivate static intgetSoLinger(int fd) final intprivate static intgetTrafficClass(int fd, boolean ipv6) static voidfinal booleanprivate static intisBroadcast(int fd) final booleanprivate static booleanisIPv6(int fd) static booleanprivate static booleanisIPv6Preferred0(boolean ipv4Preferred) final booleanprivate static intisKeepAlive(int fd) final booleanfinal booleanprivate static intisReuseAddress(int fd) final booleanprivate static intisReusePort(int fd) final booleanfinal booleanprivate static intisTcpNoDelay(int fd) final voidlisten(int backlog) private static intlisten(int fd, int backlog) final java.net.InetSocketAddressprivate static byte[]localAddress(int fd) final DomainSocketAddressprivate static byte[]localDomainSocketAddress(int fd) private static intstatic Socketprotected static intprotected static intnewSocketDgram0(boolean ipv6) protected static intDeprecated.protected static intnewSocketDgram0(SocketProtocolFamily family) private static intnewSocketDgramFd(boolean ipv6) static Socketprotected static intstatic Socketprotected static intprivate static intprivate static intstatic Socketprotected static intprotected static intnewSocketStream0(boolean ipv6) protected static intnewSocketStream0(InternetProtocolFamily protocol) Deprecated.protected static intnewSocketStream0(SocketProtocolFamily protocol) private static intnewSocketStreamFd(boolean ipv6) private static intrecv(int fd, java.nio.ByteBuffer buf, int pos, int limit) intrecv(java.nio.ByteBuffer buf, int pos, int limit) private static intrecvAddress(int fd, long address, int pos, int limit) intrecvAddress(long address, int pos, int limit) final intrecvFd()private static intrecvFd(int fd) private static DatagramSocketAddressrecvFrom(int fd, java.nio.ByteBuffer buf, int pos, int limit) final DatagramSocketAddressrecvFrom(java.nio.ByteBuffer buf, int pos, int limit) private static DatagramSocketAddressrecvFromAddress(int fd, long memoryAddress, int pos, int limit) final DatagramSocketAddressrecvFromAddress(long memoryAddress, int pos, int limit) private static DomainDatagramSocketAddressrecvFromAddressDomainSocket(int fd, long memoryAddress, int pos, int limit) recvFromAddressDomainSocket(long memoryAddress, int pos, int limit) private static DomainDatagramSocketAddressrecvFromDomainSocket(int fd, java.nio.ByteBuffer buf, int pos, int limit) recvFromDomainSocket(java.nio.ByteBuffer buf, int pos, int limit) final java.net.InetSocketAddressprivate static byte[]remoteAddress(int fd) final DomainSocketAddressprivate static byte[]remoteDomainSocketAddress(int fd) private static intsend(int fd, java.nio.ByteBuffer buf, int pos, int limit) intsend(java.nio.ByteBuffer buf, int pos, int limit) private static intsendAddress(int fd, long address, int pos, int limit) intsendAddress(long address, int pos, int limit) final intsendFd(int fdToSend) private static intsendFd(int socketFd, int fd) private static intsendTo(int fd, boolean ipv6, java.nio.ByteBuffer buf, int pos, int limit, byte[] address, int scopeId, int port, int flags) final intsendTo(java.nio.ByteBuffer buf, int pos, int limit, java.net.InetAddress addr, int port) final intsendTo(java.nio.ByteBuffer buf, int pos, int limit, java.net.InetAddress addr, int port, boolean fastOpen) private static intsendToAddress(int fd, boolean ipv6, long memoryAddress, int pos, int limit, byte[] address, int scopeId, int port, int flags) final intsendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port) final intsendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port, boolean fastOpen) private static intsendToAddressDomainSocket(int fd, long memoryAddress, int pos, int limit, byte[] path) final intsendToAddressDomainSocket(long memoryAddress, int pos, int limit, byte[] path) private static intsendToAddresses(int fd, boolean ipv6, long memoryAddress, int length, byte[] address, int scopeId, int port, int flags) final intsendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port) final intsendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port, boolean fastOpen) private static intsendToAddressesDomainSocket(int fd, long memoryAddress, int length, byte[] path) final intsendToAddressesDomainSocket(long memoryAddress, int length, byte[] path) private static intsendToDomainSocket(int fd, java.nio.ByteBuffer buf, int pos, int limit, byte[] path) final intsendToDomainSocket(java.nio.ByteBuffer buf, int pos, int limit, byte[] path) final voidsetBroadcast(boolean broadcast) private static voidsetBroadcast(int fd, int broadcast) voidsetIntOpt(int level, int optname, int optvalue) private static voidsetIntOpt(int fd, int level, int optname, int optvalue) final voidsetKeepAlive(boolean keepAlive) private static voidsetKeepAlive(int fd, int keepAlive) voidsetRawOpt(int level, int optname, java.nio.ByteBuffer optvalue) private static voidsetRawOptAddress(int fd, int level, int optname, long optvalueMemoryAddress, int length) private static voidsetRawOptArray(int fd, int level, int optname, byte[] optvalue, int offset, int length) final voidsetReceiveBufferSize(int receiveBufferSize) private static voidsetReceiveBufferSize(int fd, int receiveBufferSize) final voidsetReuseAddress(boolean reuseAddress) private static voidsetReuseAddress(int fd, int reuseAddress) final voidsetReusePort(boolean reusePort) private static voidsetReusePort(int fd, int reuseAddress) final voidsetSendBufferSize(int sendBufferSize) private static voidsetSendBufferSize(int fd, int sendBufferSize) final voidsetSoLinger(int soLinger) private static voidsetSoLinger(int fd, int soLinger) final voidsetTcpNoDelay(boolean tcpNoDelay) private static voidsetTcpNoDelay(int fd, int tcpNoDelay) final voidsetTrafficClass(int trafficClass) private static voidsetTrafficClass(int fd, boolean ipv6, int trafficClass) static booleanshouldUseIpv6(InternetProtocolFamily family) Deprecated.static booleanshouldUseIpv6(SocketProtocolFamily family) final voidshutdown()final voidshutdown(boolean read, boolean write) private static intshutdown(int fd, boolean read, boolean write) java.lang.StringtoString()protected static booleanReturnstrueif the given socket and address combination should use IPv6 internally,falseotherwise.private booleanuseIpv6(java.net.InetAddress address) Returnstrueif we should use IPv6 internally,falseotherwise.Methods inherited from class FileDescriptor
casState, close, equals, from, from, hashCode, inputShutdown, intValue, isClosed, isInputShutdown, isOpen, isOutputShutdown, markClosed, outputShutdown, pipe, read, readAddress, write, writeAddress, writev, writevAddressesMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
isIpv6Preferred
private static volatile boolean isIpv6Preferred -
UDS_SUN_PATH_SIZE
@Deprecated public static final int UDS_SUN_PATH_SIZEDeprecated.- See Also:
-
ipv6
protected final boolean ipv6
-
-
Constructor Details
-
Socket
public Socket(int fd)
-
-
Method Details
-
useIpv6
private boolean useIpv6(java.net.InetAddress address) Returnstrueif we should use IPv6 internally,falseotherwise. -
useIpv6
Returnstrueif the given socket and address combination should use IPv6 internally,falseotherwise. -
shutdown
public final void shutdown() throws java.io.IOException- Throws:
java.io.IOException
-
shutdown
public final void shutdown(boolean read, boolean write) throws java.io.IOException - Throws:
java.io.IOException
-
isShutdown
public final boolean isShutdown() -
isInputShutdown
public final boolean isInputShutdown() -
isOutputShutdown
public final boolean isOutputShutdown() -
sendTo
public final int sendTo(java.nio.ByteBuffer buf, int pos, int limit, java.net.InetAddress addr, int port) throws java.io.IOException - Throws:
java.io.IOException
-
sendTo
public final int sendTo(java.nio.ByteBuffer buf, int pos, int limit, java.net.InetAddress addr, int port, boolean fastOpen) throws java.io.IOException - Throws:
java.io.IOException
-
sendToDomainSocket
public final int sendToDomainSocket(java.nio.ByteBuffer buf, int pos, int limit, byte[] path) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddress
public final int sendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddress
public final int sendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port, boolean fastOpen) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddressDomainSocket
public final int sendToAddressDomainSocket(long memoryAddress, int pos, int limit, byte[] path) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddresses
public final int sendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddresses
public final int sendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port, boolean fastOpen) throws java.io.IOException - Throws:
java.io.IOException
-
sendToAddressesDomainSocket
public final int sendToAddressesDomainSocket(long memoryAddress, int length, byte[] path) throws java.io.IOException - Throws:
java.io.IOException
-
recvFrom
public final DatagramSocketAddress recvFrom(java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromAddress
public final DatagramSocketAddress recvFromAddress(long memoryAddress, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromDomainSocket
public final DomainDatagramSocketAddress recvFromDomainSocket(java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromAddressDomainSocket
public final DomainDatagramSocketAddress recvFromAddressDomainSocket(long memoryAddress, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recv
public int recv(java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvAddress
public int recvAddress(long address, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
send
public int send(java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
sendAddress
public int sendAddress(long address, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFd
public final int recvFd() throws java.io.IOException- Throws:
java.io.IOException
-
sendFd
public final int sendFd(int fdToSend) throws java.io.IOException - Throws:
java.io.IOException
-
connect
public final boolean connect(java.net.SocketAddress socketAddress) throws java.io.IOException - Throws:
java.io.IOException
-
finishConnect
public final boolean finishConnect() throws java.io.IOException- Throws:
java.io.IOException
-
disconnect
public final void disconnect() throws java.io.IOException- Throws:
java.io.IOException
-
bind
public final void bind(java.net.SocketAddress socketAddress) throws java.io.IOException - Throws:
java.io.IOException
-
listen
public final void listen(int backlog) throws java.io.IOException - Throws:
java.io.IOException
-
accept
public final int accept(byte[] addr) throws java.io.IOException - Throws:
java.io.IOException
-
remoteAddress
public final java.net.InetSocketAddress remoteAddress() -
remoteDomainSocketAddress
-
localAddress
public final java.net.InetSocketAddress localAddress() -
localDomainSocketAddress
-
getReceiveBufferSize
public final int getReceiveBufferSize() throws java.io.IOException- Throws:
java.io.IOException
-
getSendBufferSize
public final int getSendBufferSize() throws java.io.IOException- Throws:
java.io.IOException
-
isKeepAlive
public final boolean isKeepAlive() throws java.io.IOException- Throws:
java.io.IOException
-
isTcpNoDelay
public final boolean isTcpNoDelay() throws java.io.IOException- Throws:
java.io.IOException
-
isReuseAddress
public final boolean isReuseAddress() throws java.io.IOException- Throws:
java.io.IOException
-
isReusePort
public final boolean isReusePort() throws java.io.IOException- Throws:
java.io.IOException
-
isBroadcast
public final boolean isBroadcast() throws java.io.IOException- Throws:
java.io.IOException
-
getSoLinger
public final int getSoLinger() throws java.io.IOException- Throws:
java.io.IOException
-
getSoError
public final int getSoError() throws java.io.IOException- Throws:
java.io.IOException
-
getTrafficClass
public final int getTrafficClass() throws java.io.IOException- Throws:
java.io.IOException
-
setKeepAlive
public final void setKeepAlive(boolean keepAlive) throws java.io.IOException - Throws:
java.io.IOException
-
setReceiveBufferSize
public final void setReceiveBufferSize(int receiveBufferSize) throws java.io.IOException - Throws:
java.io.IOException
-
setSendBufferSize
public final void setSendBufferSize(int sendBufferSize) throws java.io.IOException - Throws:
java.io.IOException
-
setTcpNoDelay
public final void setTcpNoDelay(boolean tcpNoDelay) throws java.io.IOException - Throws:
java.io.IOException
-
setSoLinger
public final void setSoLinger(int soLinger) throws java.io.IOException - Throws:
java.io.IOException
-
setReuseAddress
public final void setReuseAddress(boolean reuseAddress) throws java.io.IOException - Throws:
java.io.IOException
-
setReusePort
public final void setReusePort(boolean reusePort) throws java.io.IOException - Throws:
java.io.IOException
-
setBroadcast
public final void setBroadcast(boolean broadcast) throws java.io.IOException - Throws:
java.io.IOException
-
setTrafficClass
public final void setTrafficClass(int trafficClass) throws java.io.IOException - Throws:
java.io.IOException
-
setIntOpt
public void setIntOpt(int level, int optname, int optvalue) throws java.io.IOException - Throws:
java.io.IOException
-
setRawOpt
public void setRawOpt(int level, int optname, java.nio.ByteBuffer optvalue) throws java.io.IOException - Throws:
java.io.IOException
-
getIntOpt
public int getIntOpt(int level, int optname) throws java.io.IOException - Throws:
java.io.IOException
-
getRawOpt
public void getRawOpt(int level, int optname, java.nio.ByteBuffer out) throws java.io.IOException - Throws:
java.io.IOException
-
isIPv6Preferred
public static boolean isIPv6Preferred() -
shouldUseIpv6
Deprecated. -
shouldUseIpv6
-
isIPv6Preferred0
private static boolean isIPv6Preferred0(boolean ipv4Preferred) -
isIPv6
private static boolean isIPv6(int fd) -
toString
public java.lang.String toString()- Overrides:
toStringin classFileDescriptor
-
newSocketStream
-
newSocketDgram
-
newSocketDomain
-
newSocketDomainDgram
-
initialize
public static void initialize() -
newSocketStream0
protected static int newSocketStream0() -
newSocketStream0
Deprecated.- Parameters:
protocol-- Returns:
-
newSocketStream0
-
newSocketStream0
protected static int newSocketStream0(boolean ipv6) -
newSocketDgram0
protected static int newSocketDgram0() -
newSocketDgram0
Deprecated. -
newSocketDgram0
-
newSocketDgram0
protected static int newSocketDgram0(boolean ipv6) -
newSocketDomain0
protected static int newSocketDomain0() -
newSocketDomainDgram0
protected static int newSocketDomainDgram0() -
shutdown
private static int shutdown(int fd, boolean read, boolean write) -
connect
private static int connect(int fd, boolean ipv6, byte[] address, int scopeId, int port) -
connectDomainSocket
private static int connectDomainSocket(int fd, byte[] path) -
finishConnect
private static int finishConnect(int fd) -
disconnect
private static int disconnect(int fd, boolean ipv6) -
bind
private static int bind(int fd, boolean ipv6, byte[] address, int scopeId, int port) -
bindDomainSocket
private static int bindDomainSocket(int fd, byte[] path) -
listen
private static int listen(int fd, int backlog) -
accept
private static int accept(int fd, byte[] addr) -
remoteAddress
private static byte[] remoteAddress(int fd) -
remoteDomainSocketAddress
private static byte[] remoteDomainSocketAddress(int fd) -
localAddress
private static byte[] localAddress(int fd) -
localDomainSocketAddress
private static byte[] localDomainSocketAddress(int fd) -
send
private static int send(int fd, java.nio.ByteBuffer buf, int pos, int limit) -
sendAddress
private static int sendAddress(int fd, long address, int pos, int limit) -
recv
private static int recv(int fd, java.nio.ByteBuffer buf, int pos, int limit) -
recvAddress
private static int recvAddress(int fd, long address, int pos, int limit) -
sendTo
private static int sendTo(int fd, boolean ipv6, java.nio.ByteBuffer buf, int pos, int limit, byte[] address, int scopeId, int port, int flags) -
sendToAddress
private static int sendToAddress(int fd, boolean ipv6, long memoryAddress, int pos, int limit, byte[] address, int scopeId, int port, int flags) -
sendToAddresses
private static int sendToAddresses(int fd, boolean ipv6, long memoryAddress, int length, byte[] address, int scopeId, int port, int flags) -
sendToDomainSocket
private static int sendToDomainSocket(int fd, java.nio.ByteBuffer buf, int pos, int limit, byte[] path) -
sendToAddressDomainSocket
private static int sendToAddressDomainSocket(int fd, long memoryAddress, int pos, int limit, byte[] path) -
sendToAddressesDomainSocket
private static int sendToAddressesDomainSocket(int fd, long memoryAddress, int length, byte[] path) -
recvFrom
private static DatagramSocketAddress recvFrom(int fd, java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromAddress
private static DatagramSocketAddress recvFromAddress(int fd, long memoryAddress, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromDomainSocket
private static DomainDatagramSocketAddress recvFromDomainSocket(int fd, java.nio.ByteBuffer buf, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFromAddressDomainSocket
private static DomainDatagramSocketAddress recvFromAddressDomainSocket(int fd, long memoryAddress, int pos, int limit) throws java.io.IOException - Throws:
java.io.IOException
-
recvFd
private static int recvFd(int fd) -
sendFd
private static int sendFd(int socketFd, int fd) -
msgFastopen
private static int msgFastopen() -
newSocketStreamFd
private static int newSocketStreamFd(boolean ipv6) -
newSocketDgramFd
private static int newSocketDgramFd(boolean ipv6) -
newSocketDomainFd
private static int newSocketDomainFd() -
newSocketDomainDgramFd
private static int newSocketDomainDgramFd() -
isReuseAddress
private static int isReuseAddress(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
isReusePort
private static int isReusePort(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
getReceiveBufferSize
private static int getReceiveBufferSize(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
getSendBufferSize
private static int getSendBufferSize(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
isKeepAlive
private static int isKeepAlive(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
isTcpNoDelay
private static int isTcpNoDelay(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
isBroadcast
private static int isBroadcast(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
getSoLinger
private static int getSoLinger(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
getSoError
private static int getSoError(int fd) throws java.io.IOException - Throws:
java.io.IOException
-
getTrafficClass
private static int getTrafficClass(int fd, boolean ipv6) throws java.io.IOException - Throws:
java.io.IOException
-
setReuseAddress
private static void setReuseAddress(int fd, int reuseAddress) throws java.io.IOException - Throws:
java.io.IOException
-
setReusePort
private static void setReusePort(int fd, int reuseAddress) throws java.io.IOException - Throws:
java.io.IOException
-
setKeepAlive
private static void setKeepAlive(int fd, int keepAlive) throws java.io.IOException - Throws:
java.io.IOException
-
setReceiveBufferSize
private static void setReceiveBufferSize(int fd, int receiveBufferSize) throws java.io.IOException - Throws:
java.io.IOException
-
setSendBufferSize
private static void setSendBufferSize(int fd, int sendBufferSize) throws java.io.IOException - Throws:
java.io.IOException
-
setTcpNoDelay
private static void setTcpNoDelay(int fd, int tcpNoDelay) throws java.io.IOException - Throws:
java.io.IOException
-
setSoLinger
private static void setSoLinger(int fd, int soLinger) throws java.io.IOException - Throws:
java.io.IOException
-
setBroadcast
private static void setBroadcast(int fd, int broadcast) throws java.io.IOException - Throws:
java.io.IOException
-
setTrafficClass
private static void setTrafficClass(int fd, boolean ipv6, int trafficClass) throws java.io.IOException - Throws:
java.io.IOException
-
setIntOpt
private static void setIntOpt(int fd, int level, int optname, int optvalue) throws java.io.IOException - Throws:
java.io.IOException
-
setRawOptArray
private static void setRawOptArray(int fd, int level, int optname, byte[] optvalue, int offset, int length) throws java.io.IOException - Throws:
java.io.IOException
-
setRawOptAddress
private static void setRawOptAddress(int fd, int level, int optname, long optvalueMemoryAddress, int length) throws java.io.IOException - Throws:
java.io.IOException
-
getIntOpt
private static int getIntOpt(int fd, int level, int optname) throws java.io.IOException - Throws:
java.io.IOException
-
getRawOptArray
private static void getRawOptArray(int fd, int level, int optname, byte[] out, int offset, int length) throws java.io.IOException - Throws:
java.io.IOException
-
getRawOptAddress
private static void getRawOptAddress(int fd, int level, int optname, long outMemoryAddress, int length) throws java.io.IOException - Throws:
java.io.IOException
-
newSocketDgram0(SocketProtocolFamily)