Class LinuxSocket

java.lang.Object

final class LinuxSocket extends Socket
A socket which provides access Linux native methods.
  • Field Details

    • 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:
  • Constructor Details

    • LinuxSocket

      LinuxSocket(int fd)
  • Method Details

    • family

    • markClosed

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

      void setIpMulticastAll(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
    • isIpMulticastAll

      boolean isIpMulticastAll() 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
    • setUdpGro

      void setUdpGro(boolean gro) 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
    • isIpMulticastAll

      private static int isIpMulticastAll(int fd, boolean ipv6) 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
    • 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
    • setIpMulticastAll

      private static void setIpMulticastAll(int fd, boolean ipv6, int enabled) 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
    • makeBlocking

      private static int makeBlocking(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