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 long
MAX_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 int
bindVSock(int fd, int cid, int port)
void
bindVSock(VSockAddress address)
private static int
connectVSock(int fd, int cid, int port)
boolean
connectVSock(VSockAddress address)
private static java.net.InetAddress
deriveInetAddress(java.net.NetworkInterface netInterface, boolean ipv6)
(package private) InternetProtocolFamily
family()
private static int
getIntAt(byte[] array, int startIndex)
(package private) java.net.InetAddress
getInterface()
private static int
getInterface(int fd, boolean ipv6)
private static int
getIpMulticastLoop(int fd, boolean ipv6)
(package private) java.net.NetworkInterface
getNetworkInterface()
(package private) PeerCredentials
getPeerCredentials()
private static PeerCredentials
getPeerCredentials(int fd)
(package private) int
getSoBusyPoll()
private static int
getSoBusyPoll(int fd)
(package private) int
getTcpDeferAccept()
private static int
getTcpDeferAccept(int fd)
private static void
getTcpInfo(int fd, long[] array)
(package private) void
getTcpInfo(EpollTcpInfo info)
(package private) int
getTcpKeepCnt()
private static int
getTcpKeepCnt(int fd)
(package private) int
getTcpKeepIdle()
private static int
getTcpKeepIdle(int fd)
(package private) int
getTcpKeepIntvl()
private static int
getTcpKeepIntvl(int fd)
(package private) long
getTcpNotSentLowAt()
private static int
getTcpNotSentLowAt(int fd)
(package private) int
getTcpUserTimeout()
private static int
getTcpUserTimeout(int fd)
(package private) int
getTimeToLive()
private static int
getTimeToLive(int fd)
private static java.net.InetAddress
inetAddress(int value)
private static int
interfaceIndex(java.net.InetAddress address)
private static int
interfaceIndex(java.net.NetworkInterface networkInterface)
(package private) boolean
isIpBindAddressNoPort()
private static int
isIpBindAddressNoPort(int fd)
(package private) boolean
isIpFreeBind()
private static int
isIpFreeBind(int fd)
(package private) boolean
isIpRecvOrigDestAddr()
private static int
isIpRecvOrigDestAddr(int fd)
(package private) boolean
isIpTransparent()
private static int
isIpTransparent(int fd)
(package private) boolean
isLoopbackModeDisabled()
(package private) boolean
isTcpCork()
private static int
isTcpCork(int fd)
(package private) boolean
isTcpQuickAck()
private static int
isTcpQuickAck(int fd)
(package private) boolean
isUdpGro()
private static int
isUdpGro(int fd)
private static void
joinGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex)
(package private) void
joinGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source)
private static void
joinSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source)
private static void
leaveGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex)
(package private) void
leaveGroup(java.net.InetAddress group, java.net.NetworkInterface netInterface, java.net.InetAddress source)
private static void
leaveSsmGroup(int fd, boolean ipv6, byte[] group, byte[] interfaceAddress, int scopeId, int interfaceIndex, byte[] source)
VSockAddress
localVSockAddress()
private static byte[]
localVSockAddress(int fd)
static LinuxSocket
newSocket(int fd)
static LinuxSocket
newSocketDgram()
static LinuxSocket
newSocketDgram(boolean ipv6)
static LinuxSocket
newSocketDgram(InternetProtocolFamily family)
static LinuxSocket
newSocketDomain()
static LinuxSocket
newSocketDomainDgram()
static LinuxSocket
newSocketStream()
static LinuxSocket
newSocketStream(boolean ipv6)
static LinuxSocket
newSocketStream(InternetProtocolFamily protocol)
static LinuxSocket
newVSockStream()
(package private) static int
newVSockStream0()
private static int
newVSockStreamFd()
(package private) int
recvmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len)
(package private) int
recvmsg(NativeDatagramPacketArray.NativeDatagramPacket msg)
VSockAddress
remoteVSockAddress()
private static byte[]
remoteVSockAddress(int fd)
private static long
sendFile(int socketFd, DefaultFileRegion src, long baseOffset, long offset, long length)
(package private) long
sendFile(DefaultFileRegion src, long baseOffset, long offset, long length)
(package private) int
sendmmsg(NativeDatagramPacketArray.NativeDatagramPacket[] msgs, int offset, int len)
private static void
setInterface(int fd, boolean ipv6, byte[] interfaceAddress, int scopeId, int networkInterfaceIndex)
(package private) void
setInterface(java.net.InetAddress address)
(package private) void
setIpBindAddressNoPort(boolean enabled)
private static void
setIpBindAddressNoPort(int fd, int ipBindAddressNoPort)
(package private) void
setIpFreeBind(boolean enabled)
private static void
setIpFreeBind(int fd, int freeBind)
private static void
setIpMulticastLoop(int fd, boolean ipv6, int enabled)
(package private) void
setIpRecvOrigDestAddr(boolean enabled)
private static void
setIpRecvOrigDestAddr(int fd, int transparent)
(package private) void
setIpTransparent(boolean enabled)
private static void
setIpTransparent(int fd, int transparent)
(package private) void
setLoopbackModeDisabled(boolean loopbackModeDisabled)
(package private) void
setNetworkInterface(java.net.NetworkInterface netInterface)
(package private) void
setSoBusyPoll(int loopMicros)
private static void
setSoBusyPoll(int fd, int loopMicros)
(package private) void
setTcpCork(boolean tcpCork)
private static void
setTcpCork(int fd, int tcpCork)
(package private) void
setTcpDeferAccept(int deferAccept)
private static void
setTcpDeferAccept(int fd, int deferAccept)
(package private) void
setTcpFastOpen(int tcpFastopenBacklog)
private static void
setTcpFastOpen(int fd, int tcpFastopenBacklog)
(package private) void
setTcpKeepCnt(int probes)
private static void
setTcpKeepCnt(int fd, int probes)
(package private) void
setTcpKeepIdle(int seconds)
private static void
setTcpKeepIdle(int fd, int seconds)
(package private) void
setTcpKeepIntvl(int seconds)
private static void
setTcpKeepIntvl(int fd, int seconds)
private static void
setTcpMd5Sig(int fd, boolean ipv6, byte[] address, int scopeId, byte[] key)
(package private) void
setTcpMd5Sig(java.net.InetAddress address, byte[] key)
private static void
setTcpNotSentLowAt(int fd, int tcpNotSentLowAt)
(package private) void
setTcpNotSentLowAt(long tcpNotSentLowAt)
(package private) void
setTcpQuickAck(boolean quickAck)
private static void
setTcpQuickAck(int fd, int quickAck)
(package private) void
setTcpUserTimeout(int milliseconds)
private static void
setTcpUserTimeout(int fd, int milliseconds)
(package private) void
setTimeToLive(int ttl)
private static void
setTimeToLive(int fd, int ttl)
(package private) void
setUdpGro(boolean gro)
private static void
setUdpGro(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
-
-