Package io.netty.channel.unix
Class Socket
- java.lang.Object
-
- io.netty.channel.unix.FileDescriptor
-
- io.netty.channel.unix.Socket
-
public class Socket extends FileDescriptor
Provides a JNI bridge to native socket operations. Internal usage only!
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.atomic.AtomicBooleanINITIALIZEDprotected booleanipv6static intUDS_SUN_PATH_SIZEDeprecated.-
Fields inherited from class io.netty.channel.unix.FileDescriptor
fd, state
-
-
Constructor Summary
Constructors Constructor Description Socket(int fd)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intaccept(byte[] addr)private static intaccept(int fd, byte[] addr)private static intbind(int fd, boolean ipv6, byte[] address, int scopeId, int port)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)booleanconnect(java.net.SocketAddress socketAddress)private static intconnectDomainSocket(int fd, byte[] path)voiddisconnect()private static intdisconnect(int fd, boolean ipv6)booleanfinishConnect()private static intfinishConnect(int fd)intgetReceiveBufferSize()private static intgetReceiveBufferSize(int fd)intgetSendBufferSize()private static intgetSendBufferSize(int fd)intgetSoError()private static intgetSoError(int fd)intgetSoLinger()private static intgetSoLinger(int fd)intgetTrafficClass()private static intgetTrafficClass(int fd, boolean ipv6)static voidinitialize()private static voidinitialize(boolean ipv4Preferred)booleanisBroadcast()private static intisBroadcast(int fd)booleanisInputShutdown()private static booleanisIPv6(int fd)static booleanisIPv6Preferred()booleanisKeepAlive()private static intisKeepAlive(int fd)booleanisOutputShutdown()booleanisReuseAddress()private static intisReuseAddress(int fd)booleanisReusePort()private static intisReusePort(int fd)booleanisShutdown()booleanisTcpNoDelay()private static intisTcpNoDelay(int fd)voidlisten(int backlog)private static intlisten(int fd, int backlog)java.net.InetSocketAddresslocalAddress()private static byte[]localAddress(int fd)private static intmsgFastopen()static SocketnewSocketDgram()protected static intnewSocketDgram0()protected static intnewSocketDgram0(boolean ipv6)private static intnewSocketDgramFd(boolean ipv6)static SocketnewSocketDomain()protected static intnewSocketDomain0()private static intnewSocketDomainFd()static SocketnewSocketStream()protected static intnewSocketStream0()protected static intnewSocketStream0(boolean ipv6)private static intnewSocketStreamFd(boolean ipv6)intrecvFd()private static intrecvFd(int fd)private static DatagramSocketAddressrecvFrom(int fd, java.nio.ByteBuffer buf, int pos, int limit)DatagramSocketAddressrecvFrom(java.nio.ByteBuffer buf, int pos, int limit)private static DatagramSocketAddressrecvFromAddress(int fd, long memoryAddress, int pos, int limit)DatagramSocketAddressrecvFromAddress(long memoryAddress, int pos, int limit)java.net.InetSocketAddressremoteAddress()private static byte[]remoteAddress(int fd)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)intsendTo(java.nio.ByteBuffer buf, int pos, int limit, java.net.InetAddress addr, int port)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)intsendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port)intsendToAddress(long memoryAddress, int pos, int limit, java.net.InetAddress addr, int port, boolean fastOpen)private static intsendToAddresses(int fd, boolean ipv6, long memoryAddress, int length, byte[] address, int scopeId, int port, int flags)intsendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port)intsendToAddresses(long memoryAddress, int length, java.net.InetAddress addr, int port, boolean fastOpen)voidsetBroadcast(boolean broadcast)private static voidsetBroadcast(int fd, int broadcast)voidsetKeepAlive(boolean keepAlive)private static voidsetKeepAlive(int fd, int keepAlive)voidsetReceiveBufferSize(int receiveBufferSize)private static voidsetReceiveBufferSize(int fd, int receiveBufferSize)voidsetReuseAddress(boolean reuseAddress)private static voidsetReuseAddress(int fd, int reuseAddress)voidsetReusePort(boolean reusePort)private static voidsetReusePort(int fd, int reuseAddress)voidsetSendBufferSize(int sendBufferSize)private static voidsetSendBufferSize(int fd, int sendBufferSize)voidsetSoLinger(int soLinger)private static voidsetSoLinger(int fd, int soLinger)voidsetTcpNoDelay(boolean tcpNoDelay)private static voidsetTcpNoDelay(int fd, int tcpNoDelay)voidsetTrafficClass(int trafficClass)private static voidsetTrafficClass(int fd, boolean ipv6, int trafficClass)voidshutdown()voidshutdown(boolean read, boolean write)private static intshutdown(int fd, boolean read, boolean write)java.lang.StringtoString()private booleanuseIpv6(java.net.InetAddress address)Returnstrueif we should use IPv6 internally,falseotherwise.-
Methods inherited from class io.netty.channel.unix.FileDescriptor
casState, close, equals, from, from, hashCode, inputShutdown, intValue, isClosed, isInputShutdown, isOpen, isOutputShutdown, markClosed, outputShutdown, pipe, read, readAddress, write, writeAddress, writev, writevAddresses
-
-
-
-
Field Detail
-
UDS_SUN_PATH_SIZE
@Deprecated public static final int UDS_SUN_PATH_SIZE
Deprecated.- See Also:
- Constant Field Values
-
ipv6
protected final boolean ipv6
-
INITIALIZED
private static final java.util.concurrent.atomic.AtomicBoolean INITIALIZED
-
-
Method Detail
-
useIpv6
private boolean useIpv6(java.net.InetAddress address)
Returnstrueif we 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
-
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
-
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
-
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
-
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()
-
localAddress
public final java.net.InetSocketAddress localAddress()
-
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
-
isIPv6Preferred
public static boolean isIPv6Preferred()
-
isIPv6
private static boolean isIPv6(int fd)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classFileDescriptor
-
newSocketStream
public static Socket newSocketStream()
-
newSocketDgram
public static Socket newSocketDgram()
-
newSocketDomain
public static Socket newSocketDomain()
-
initialize
public static void initialize()
-
newSocketStream0
protected static int newSocketStream0()
-
newSocketStream0
protected static int newSocketStream0(boolean ipv6)
-
newSocketDgram0
protected static int newSocketDgram0()
-
newSocketDgram0
protected static int newSocketDgram0(boolean ipv6)
-
newSocketDomain0
protected static int newSocketDomain0()
-
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)
-
localAddress
private static byte[] localAddress(int fd)
-
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)
-
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
-
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()
-
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
-
initialize
private static void initialize(boolean ipv4Preferred)
-
-