Package io.netty.incubator.channel.uring
Class LinuxSocket
- java.lang.Object
-
- io.netty.channel.unix.FileDescriptor
-
- io.netty.channel.unix.Socket
-
- io.netty.incubator.channel.uring.LinuxSocket
-
final class LinuxSocket extends io.netty.channel.unix.Socket
A socket which provides access Linux native methods.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.net.InetAddress
INET_ANY
(package private) static java.net.InetAddress
INET6_ANY
private static long
MAX_UINT32_T
-
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 java.net.InetAddress
deriveInetAddress(java.net.NetworkInterface netInterface, boolean ipv6)
(package private) io.netty.channel.socket.InternetProtocolFamily
family()
(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) io.netty.channel.unix.PeerCredentials
getPeerCredentials()
private static io.netty.channel.unix.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(IOUringTcpInfo 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
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
isIpv6()
(package private) boolean
isLoopbackModeDisabled()
(package private) boolean
isTcpCork()
private static int
isTcpCork(int fd)
(package private) boolean
isTcpFastOpenConnect()
private static int
isTcpFastOpenConnect(int fd)
(package private) boolean
isTcpQuickAck()
private static int
isTcpQuickAck(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)
boolean
markClosed()
static LinuxSocket
newSocketDgram()
static LinuxSocket
newSocketDgram(boolean ipv6)
static LinuxSocket
newSocketDomain()
static LinuxSocket
newSocketStream()
static LinuxSocket
newSocketStream(boolean ipv6)
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
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
setTcpFastOpenConnect(boolean tcpFastOpenConnect)
private static void
setTcpFastOpenConnect(int fd, int tcpFastOpenConnect)
(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)
private static java.net.InetAddress
unsafeInetAddrByName(java.lang.String inetName)
-
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, newSocketDomainDgram, 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
-
-
-
-
Field Detail
-
INET6_ANY
static final java.net.InetAddress INET6_ANY
-
INET_ANY
private static final java.net.InetAddress INET_ANY
-
MAX_UINT32_T
private static final long MAX_UINT32_T
- See Also:
- Constant Field Values
-
-
Method Detail
-
family
io.netty.channel.socket.InternetProtocolFamily family()
-
markClosed
public boolean markClosed()
- Overrides:
markClosed
in classio.netty.channel.unix.FileDescriptor
-
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
-
setTcpFastOpenConnect
void setTcpFastOpenConnect(boolean tcpFastOpenConnect) throws java.io.IOException
- Throws:
java.io.IOException
-
isTcpFastOpenConnect
boolean isTcpFastOpenConnect() 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
-
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(IOUringTcpInfo 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
-
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
io.netty.channel.unix.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
-
deriveInetAddress
private static java.net.InetAddress deriveInetAddress(java.net.NetworkInterface netInterface, boolean ipv6)
-
isIpv6
boolean isIpv6()
-
newSocketStream
public static LinuxSocket newSocketStream(boolean ipv6)
-
newSocketStream
public static LinuxSocket newSocketStream()
-
newSocketDgram
public static LinuxSocket newSocketDgram(boolean ipv6)
-
newSocketDgram
public static LinuxSocket newSocketDgram()
-
newSocketDomain
public static LinuxSocket newSocketDomain()
-
unsafeInetAddrByName
private static java.net.InetAddress unsafeInetAddrByName(java.lang.String inetName)
-
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
-
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
-
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 io.netty.channel.unix.PeerCredentials getPeerCredentials(int fd) throws java.io.IOException
- Throws:
java.io.IOException
-
isTcpFastOpenConnect
private static int isTcpFastOpenConnect(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
-
setTcpFastOpenConnect
private static void setTcpFastOpenConnect(int fd, int tcpFastOpenConnect) 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
-
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
-
-