Class LinuxSocket

java.lang.Object

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

  • Constructor Details

    • LinuxSocket

      LinuxSocket(int fd)
  • Method Details

    • 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
    • setIpMulticastAll

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

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

      @Deprecated public static LinuxSocket newSocketStream(InternetProtocolFamily protocol)
    • newSocketStream

      public static LinuxSocket newSocketStream(SocketProtocolFamily protocol)
    • newSocketStream

      public static LinuxSocket newSocketStream()
    • newSocketDgram

      public static LinuxSocket newSocketDgram(boolean ipv6)
    • newSocketDgram

      @Deprecated public static LinuxSocket newSocketDgram(InternetProtocolFamily family)
    • newSocketDgram

      public static LinuxSocket newSocketDgram(SocketProtocolFamily 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
    • isIpMulticastAll

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

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