Class 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  
      • 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 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
      • Methods inherited from class io.netty.channel.unix.FileDescriptor

        close, equals, from, from, hashCode, intValue, isOpen, pipe, read, readAddress, write, writeAddress, writev, writevAddresses
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • INET6_ANY

        static final java.net.InetAddress INET6_ANY
      • INET_ANY

        private static final java.net.InetAddress INET_ANY
    • Constructor Detail

      • LinuxSocket

        LinuxSocket​(int fd)
    • Method Detail

      • family

        io.netty.channel.socket.InternetProtocolFamily family()
      • markClosed

        public boolean markClosed()
        Overrides:
        markClosed in class io.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