Package io.netty.channel.epoll
Class LinuxSocket
- java.lang.Object
-
- io.netty.channel.unix.FileDescriptor
-
- io.netty.channel.unix.Socket
-
- io.netty.channel.epoll.LinuxSocket
-
@UnstableApi public final class LinuxSocket extends Socket
A socket which provides access Linux native methods.
-
-
Field Summary
Fields Modifier and Type Field Description private static longMAX_UINT32_T-
Fields inherited from class io.netty.channel.unix.Socket
ipv6, UDS_SUN_PATH_SIZE
-
-
Constructor Summary
Constructors Constructor Description LinuxSocket(int fd)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static intbindVSock(int fd, int cid, int port)voidbindVSock(VSockAddress address)private static intconnectVSock(int fd, int cid, int port)booleanconnectVSock(VSockAddress address)private static java.net.InetAddressderiveInetAddress(java.net.NetworkInterface netInterface, boolean ipv6)(package private) InternetProtocolFamilyfamily()private static intgetIntAt(byte[] array, int startIndex)(package private) java.net.InetAddressgetInterface()private static intgetInterface(int fd, boolean ipv6)private static intgetIpMulticastLoop(int fd, boolean ipv6)(package private) java.net.NetworkInterfacegetNetworkInterface()(package private) PeerCredentialsgetPeerCredentials()private static PeerCredentialsgetPeerCredentials(int fd)(package private) intgetSoBusyPoll()private static intgetSoBusyPoll(int fd)(package private) intgetTcpDeferAccept()private static intgetTcpDeferAccept(int fd)private static voidgetTcpInfo(int fd, long[] array)(package private) voidgetTcpInfo(EpollTcpInfo info)(package private) intgetTcpKeepCnt()private static intgetTcpKeepCnt(int fd)(package private) intgetTcpKeepIdle()private static intgetTcpKeepIdle(int fd)(package private) intgetTcpKeepIntvl()private static intgetTcpKeepIntvl(int fd)(package private) longgetTcpNotSentLowAt()private static intgetTcpNotSentLowAt(int fd)(package private) intgetTcpUserTimeout()private static intgetTcpUserTimeout(int fd)(package private) intgetTimeToLive()private static intgetTimeToLive(int fd)private static java.net.InetAddressinetAddress(int value)private static intinterfaceIndex(java.net.InetAddress address)private static intinterfaceIndex(java.net.NetworkInterface networkInterface)(package private) booleanisIpBindAddressNoPort()private static intisIpBindAddressNoPort(int fd)(package private) booleanisIpFreeBind()private static intisIpFreeBind(int fd)(package private) booleanisIpRecvOrigDestAddr()private static intisIpRecvOrigDestAddr(int fd)(package private) booleanisIpTransparent()private static intisIpTransparent(int fd)(package private) booleanisLoopbackModeDisabled()(package private) booleanisTcpCork()private static intisTcpCork(int fd)(package private) booleanisTcpQuickAck()private static intisTcpQuickAck(int fd)(package private) booleanisUdpGro()private static intisUdpGro(int fd)private static voidjoinGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex)(package private) voidjoinGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source)private static voidjoinSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source)private static voidleaveGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex)(package private) voidleaveGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source)private static voidleaveSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source)VSockAddresslocalVSockAddress()private static byte[]localVSockAddress(int fd)static LinuxSocketnewSocket(int fd)static LinuxSocketnewSocketDgram()static LinuxSocketnewSocketDgram(boolean ipv6)static LinuxSocketnewSocketDgram(InternetProtocolFamily family)static LinuxSocketnewSocketDomain()static LinuxSocketnewSocketDomainDgram()static LinuxSocketnewSocketStream()static LinuxSocketnewSocketStream(boolean ipv6)static LinuxSocketnewSocketStream(InternetProtocolFamily protocol)static LinuxSocketnewVSockStream()(package private) static intnewVSockStream0()private static intnewVSockStreamFd()(package private) intrecvmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len)(package private) intrecvmsg(NativeDatagramPacketArray.NativeDatagramPacket msg)VSockAddressremoteVSockAddress()private static byte[]remoteVSockAddress(int fd)private static longsendFile(int socketFd, DefaultFileRegion src, long baseOffset, long offset, long length)(package private) longsendFile(DefaultFileRegion src, long baseOffset, long offset, long length)(package private) intsendmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len)private static voidsetInterface(int fd, boolean ipv6, byte[] interfaceAddress, int scopeId, int networkInterfaceIndex)(package private) voidsetInterface(java.net.InetAddress address)(package private) voidsetIpBindAddressNoPort(boolean enabled)private static voidsetIpBindAddressNoPort(int fd, int ipBindAddressNoPort)(package private) voidsetIpFreeBind(boolean enabled)private static voidsetIpFreeBind(int fd, int freeBind)private static voidsetIpMulticastLoop(int fd, boolean ipv6, int enabled)(package private) voidsetIpRecvOrigDestAddr(boolean enabled)private static voidsetIpRecvOrigDestAddr(int fd, int transparent)(package private) voidsetIpTransparent(boolean enabled)private static voidsetIpTransparent(int fd, int transparent)(package private) voidsetLoopbackModeDisabled(boolean loopbackModeDisabled)(package private) voidsetNetworkInterface(java.net.NetworkInterface netInterface)(package private) voidsetSoBusyPoll(int loopMicros)private static voidsetSoBusyPoll(int fd, int loopMicros)(package private) voidsetTcpCork(boolean tcpCork)private static voidsetTcpCork(int fd, int tcpCork)(package private) voidsetTcpDeferAccept(int deferAccept)private static voidsetTcpDeferAccept(int fd, int deferAccept)(package private) voidsetTcpFastOpen(int tcpFastopenBacklog)private static voidsetTcpFastOpen(int fd, int tcpFastopenBacklog)(package private) voidsetTcpKeepCnt(int probes)private static voidsetTcpKeepCnt(int fd, int probes)(package private) voidsetTcpKeepIdle(int seconds)private static voidsetTcpKeepIdle(int fd, int seconds)(package private) voidsetTcpKeepIntvl(int seconds)private static voidsetTcpKeepIntvl(int fd, int seconds)private static voidsetTcpMd5Sig(int fd, boolean ipv6, byte[] address, int scopeId, byte[] key)(package private) voidsetTcpMd5Sig(java.net.InetAddress address, byte[] key)private static voidsetTcpNotSentLowAt(int fd, int tcpNotSentLowAt)(package private) voidsetTcpNotSentLowAt(long tcpNotSentLowAt)(package private) voidsetTcpQuickAck(boolean quickAck)private static voidsetTcpQuickAck(int fd, int quickAck)(package private) voidsetTcpUserTimeout(int milliseconds)private static voidsetTcpUserTimeout(int fd, int milliseconds)(package private) voidsetTimeToLive(int ttl)private static voidsetTimeToLive(int fd, int ttl)(package private) voidsetUdpGro(boolean gro)private static voidsetUdpGro(int fd, int gro)-
Methods inherited from class io.netty.channel.unix.Socket
accept, bind, connect, disconnect, finishConnect, getIntOpt, getRawOpt, getReceiveBufferSize, getSendBufferSize, getSoError, getSoLinger, getTrafficClass, initialize, isBroadcast, isInputShutdown, isIPv6Preferred, isKeepAlive, isOutputShutdown, isReuseAddress, isReusePort, isShutdown, isTcpNoDelay, listen, localAddress, localDomainSocketAddress, newSocketDgram0, newSocketDgram0, newSocketDgram0, newSocketDomain0, newSocketDomainDgram0, newSocketStream0, newSocketStream0, newSocketStream0, recv, recvAddress, recvFd, recvFrom, recvFromAddress, recvFromAddressDomainSocket, recvFromDomainSocket, remoteAddress, remoteDomainSocketAddress, send, sendAddress, sendFd, sendTo, sendTo, sendToAddress, sendToAddress, sendToAddressDomainSocket, sendToAddresses, sendToAddresses, sendToAddressesDomainSocket, sendToDomainSocket, setBroadcast, setIntOpt, setKeepAlive, setRawOpt, setReceiveBufferSize, setReuseAddress, setReusePort, setSendBufferSize, setSoLinger, setTcpNoDelay, setTrafficClass, shouldUseIpv6, shutdown, shutdown, toString, useIpv6
-
Methods inherited from class io.netty.channel.unix.FileDescriptor
close, equals, from, from, hashCode, intValue, isOpen, markClosed, pipe, read, readAddress, write, writeAddress, writev, writevAddresses
-
-
-
-
Field Detail
-
MAX_UINT32_T
private static final long MAX_UINT32_T
- See Also:
- Constant Field Values
-
-
Method Detail
-
family
InternetProtocolFamily family()
-
sendmmsg
int sendmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
recvmmsg
int recvmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
recvmsg
int recvmsg(NativeDatagramPacketArray.NativeDatagramPacket msg) throws java.io.IOException
- Throws:
java.io.IOException
-
setTimeToLive
void setTimeToLive(int ttl) throws java.io.IOException- Throws:
java.io.IOException
-
setInterface
void setInterface(java.net.InetAddress address) throws java.io.IOException- Throws:
java.io.IOException
-
setNetworkInterface
void setNetworkInterface(java.net.NetworkInterface netInterface) throws java.io.IOException- Throws:
java.io.IOException
-
getInterface
java.net.InetAddress getInterface() throws java.io.IOException- Throws:
java.io.IOException
-
getNetworkInterface
java.net.NetworkInterface getNetworkInterface() throws java.io.IOException- Throws:
java.io.IOException
-
inetAddress
private static java.net.InetAddress inetAddress(int value)
-
joinGroup
void joinGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source) throws java.io.IOException- Throws:
java.io.IOException
-
leaveGroup
void leaveGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source) throws java.io.IOException- Throws:
java.io.IOException
-
interfaceIndex
private static int interfaceIndex(java.net.NetworkInterface networkInterface)
-
interfaceIndex
private static int interfaceIndex(java.net.InetAddress address) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpDeferAccept
void setTcpDeferAccept(int deferAccept) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpQuickAck
void setTcpQuickAck(boolean quickAck) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpCork
void setTcpCork(boolean tcpCork) throws java.io.IOException- Throws:
java.io.IOException
-
setSoBusyPoll
void setSoBusyPoll(int loopMicros) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpNotSentLowAt
void setTcpNotSentLowAt(long tcpNotSentLowAt) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpFastOpen
void setTcpFastOpen(int tcpFastopenBacklog) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepIdle
void setTcpKeepIdle(int seconds) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepIntvl
void setTcpKeepIntvl(int seconds) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepCnt
void setTcpKeepCnt(int probes) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpUserTimeout
void setTcpUserTimeout(int milliseconds) throws java.io.IOException- Throws:
java.io.IOException
-
setIpBindAddressNoPort
void setIpBindAddressNoPort(boolean enabled) throws java.io.IOException- Throws:
java.io.IOException
-
setIpFreeBind
void setIpFreeBind(boolean enabled) throws java.io.IOException- Throws:
java.io.IOException
-
setIpTransparent
void setIpTransparent(boolean enabled) throws java.io.IOException- Throws:
java.io.IOException
-
setIpRecvOrigDestAddr
void setIpRecvOrigDestAddr(boolean enabled) throws java.io.IOException- Throws:
java.io.IOException
-
getTimeToLive
int getTimeToLive() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpInfo
void getTcpInfo(EpollTcpInfo info) throws java.io.IOException
- Throws:
java.io.IOException
-
setTcpMd5Sig
void setTcpMd5Sig(java.net.InetAddress address, byte[] key) throws java.io.IOException- Throws:
java.io.IOException
-
isTcpCork
boolean isTcpCork() throws java.io.IOException- Throws:
java.io.IOException
-
getSoBusyPoll
int getSoBusyPoll() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpDeferAccept
int getTcpDeferAccept() throws java.io.IOException- Throws:
java.io.IOException
-
isTcpQuickAck
boolean isTcpQuickAck() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpNotSentLowAt
long getTcpNotSentLowAt() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepIdle
int getTcpKeepIdle() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepIntvl
int getTcpKeepIntvl() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepCnt
int getTcpKeepCnt() throws java.io.IOException- Throws:
java.io.IOException
-
getTcpUserTimeout
int getTcpUserTimeout() throws java.io.IOException- Throws:
java.io.IOException
-
isIpBindAddressNoPort
boolean isIpBindAddressNoPort() throws java.io.IOException- Throws:
java.io.IOException
-
isIpFreeBind
boolean isIpFreeBind() throws java.io.IOException- Throws:
java.io.IOException
-
isIpTransparent
boolean isIpTransparent() throws java.io.IOException- Throws:
java.io.IOException
-
isIpRecvOrigDestAddr
boolean isIpRecvOrigDestAddr() throws java.io.IOException- Throws:
java.io.IOException
-
getPeerCredentials
PeerCredentials getPeerCredentials() throws java.io.IOException
- Throws:
java.io.IOException
-
isLoopbackModeDisabled
boolean isLoopbackModeDisabled() throws java.io.IOException- Throws:
java.io.IOException
-
setLoopbackModeDisabled
void setLoopbackModeDisabled(boolean loopbackModeDisabled) throws java.io.IOException- Throws:
java.io.IOException
-
isUdpGro
boolean isUdpGro() throws java.io.IOException- Throws:
java.io.IOException
-
setUdpGro
void setUdpGro(boolean gro) throws java.io.IOException- Throws:
java.io.IOException
-
sendFile
long sendFile(DefaultFileRegion src, long baseOffset, long offset, long length) throws java.io.IOException
- Throws:
java.io.IOException
-
bindVSock
public void bindVSock(VSockAddress address) throws java.io.IOException
- Throws:
java.io.IOException
-
connectVSock
public boolean connectVSock(VSockAddress address) throws java.io.IOException
- Throws:
java.io.IOException
-
remoteVSockAddress
public VSockAddress remoteVSockAddress()
-
localVSockAddress
public VSockAddress localVSockAddress()
-
getIntAt
private static int getIntAt(byte[] array, int startIndex)
-
deriveInetAddress
private static java.net.InetAddress deriveInetAddress(java.net.NetworkInterface netInterface, boolean ipv6)
-
newSocket
public static LinuxSocket newSocket(int fd)
-
newVSockStream
public static LinuxSocket newVSockStream()
-
newVSockStream0
static int newVSockStream0()
-
newSocketStream
public static LinuxSocket newSocketStream(boolean ipv6)
-
newSocketStream
public static LinuxSocket newSocketStream(InternetProtocolFamily protocol)
-
newSocketStream
public static LinuxSocket newSocketStream()
-
newSocketDgram
public static LinuxSocket newSocketDgram(boolean ipv6)
-
newSocketDgram
public static LinuxSocket newSocketDgram(InternetProtocolFamily family)
-
newSocketDgram
public static LinuxSocket newSocketDgram()
-
newSocketDomain
public static LinuxSocket newSocketDomain()
-
newSocketDomainDgram
public static LinuxSocket newSocketDomainDgram()
-
newVSockStreamFd
private static int newVSockStreamFd()
-
bindVSock
private static int bindVSock(int fd, int cid, int port)
-
connectVSock
private static int connectVSock(int fd, int cid, int port)
-
remoteVSockAddress
private static byte[] remoteVSockAddress(int fd)
-
localVSockAddress
private static byte[] localVSockAddress(int fd)
-
joinGroup
private static void joinGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex) throws java.io.IOException- Throws:
java.io.IOException
-
joinSsmGroup
private static void joinSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source) throws java.io.IOException- Throws:
java.io.IOException
-
leaveGroup
private static void leaveGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex) throws java.io.IOException- Throws:
java.io.IOException
-
leaveSsmGroup
private static void leaveSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source) throws java.io.IOException- Throws:
java.io.IOException
-
sendFile
private static long sendFile(int socketFd, DefaultFileRegion src, long baseOffset, long offset, long length) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpDeferAccept
private static int getTcpDeferAccept(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isTcpQuickAck
private static int isTcpQuickAck(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isTcpCork
private static int isTcpCork(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getSoBusyPoll
private static int getSoBusyPoll(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpNotSentLowAt
private static int getTcpNotSentLowAt(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepIdle
private static int getTcpKeepIdle(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepIntvl
private static int getTcpKeepIntvl(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpKeepCnt
private static int getTcpKeepCnt(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpUserTimeout
private static int getTcpUserTimeout(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTimeToLive
private static int getTimeToLive(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isIpBindAddressNoPort
private static int isIpBindAddressNoPort(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isIpFreeBind
private static int isIpFreeBind(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isIpTransparent
private static int isIpTransparent(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
isIpRecvOrigDestAddr
private static int isIpRecvOrigDestAddr(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
getTcpInfo
private static void getTcpInfo(int fd, long[] array) throws java.io.IOException- Throws:
java.io.IOException
-
getPeerCredentials
private static PeerCredentials getPeerCredentials(int fd) throws java.io.IOException
- Throws:
java.io.IOException
-
setTcpDeferAccept
private static void setTcpDeferAccept(int fd, int deferAccept) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpQuickAck
private static void setTcpQuickAck(int fd, int quickAck) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpCork
private static void setTcpCork(int fd, int tcpCork) throws java.io.IOException- Throws:
java.io.IOException
-
setSoBusyPoll
private static void setSoBusyPoll(int fd, int loopMicros) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpNotSentLowAt
private static void setTcpNotSentLowAt(int fd, int tcpNotSentLowAt) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpFastOpen
private static void setTcpFastOpen(int fd, int tcpFastopenBacklog) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepIdle
private static void setTcpKeepIdle(int fd, int seconds) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepIntvl
private static void setTcpKeepIntvl(int fd, int seconds) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpKeepCnt
private static void setTcpKeepCnt(int fd, int probes) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpUserTimeout
private static void setTcpUserTimeout(int fd, int milliseconds) throws java.io.IOException- Throws:
java.io.IOException
-
setIpBindAddressNoPort
private static void setIpBindAddressNoPort(int fd, int ipBindAddressNoPort) throws java.io.IOException- Throws:
java.io.IOException
-
setIpFreeBind
private static void setIpFreeBind(int fd, int freeBind) throws java.io.IOException- Throws:
java.io.IOException
-
setIpTransparent
private static void setIpTransparent(int fd, int transparent) throws java.io.IOException- Throws:
java.io.IOException
-
setIpRecvOrigDestAddr
private static void setIpRecvOrigDestAddr(int fd, int transparent) throws java.io.IOException- Throws:
java.io.IOException
-
setTcpMd5Sig
private static void setTcpMd5Sig(int fd, boolean ipv6, byte[] address, int scopeId, byte[] key) throws java.io.IOException- Throws:
java.io.IOException
-
setInterface
private static void setInterface(int fd, boolean ipv6, byte[] interfaceAddress, int scopeId, int networkInterfaceIndex) throws java.io.IOException- Throws:
java.io.IOException
-
getInterface
private static int getInterface(int fd, boolean ipv6)
-
getIpMulticastLoop
private static int getIpMulticastLoop(int fd, boolean ipv6) throws java.io.IOException- Throws:
java.io.IOException
-
setIpMulticastLoop
private static void setIpMulticastLoop(int fd, boolean ipv6, int enabled) throws java.io.IOException- Throws:
java.io.IOException
-
setTimeToLive
private static void setTimeToLive(int fd, int ttl) throws java.io.IOException- Throws:
java.io.IOException
-
isUdpGro
private static int isUdpGro(int fd) throws java.io.IOException- Throws:
java.io.IOException
-
setUdpGro
private static void setUdpGro(int fd, int gro) throws java.io.IOException- Throws:
java.io.IOException
-
-