Package io.netty.incubator.channel.uring
Class Native
- java.lang.Object
-
- io.netty.incubator.channel.uring.Native
-
final class Native extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static shortAF_INET(package private) static shortAF_INET6(package private) static intCMSG_LEN(package private) static intCMSG_OFFSETOF_CMSG_LEN(package private) static intCMSG_OFFSETOF_CMSG_LEVEL(package private) static intCMSG_OFFSETOF_CMSG_TYPE(package private) static intCMSG_SPACE(package private) static intDEFAULT_IOSQE_ASYNC_THRESHOLDWhen there are more FDs (= connections) than this setting, the FDs will be marked as IOSQE_ASYNC, under the expectation that read/write ops on the FDs will usually block.(package private) static intDEFAULT_RING_SIZE(package private) static intERRNO_ECANCELED_NEGATIVE(package private) static intERRNO_ETIME_NEGATIVE(package private) static intIN_ADDRESS_OFFSETOF_S_ADDR(package private) static intIN6_ADDRESS_OFFSETOF_S6_ADDR(package private) static intIORING_ENTER_GETEVENTS(package private) static byteIORING_OP_ACCEPT(package private) static byteIORING_OP_CLOSE(package private) static byteIORING_OP_CONNECT(package private) static byteIORING_OP_POLL_ADD(package private) static byteIORING_OP_POLL_REMOVE(package private) static byteIORING_OP_READ(package private) static byteIORING_OP_RECV(package private) static byteIORING_OP_RECVMSG(package private) static byteIORING_OP_SEND(package private) static byteIORING_OP_SENDMSG(package private) static byteIORING_OP_TIMEOUT(package private) static byteIORING_OP_TIMEOUT_REMOVE(package private) static byteIORING_OP_WRITE(package private) static byteIORING_OP_WRITEV(package private) static intIOSQE_ASYNC(package private) static intIOVEC_OFFSETOF_IOV_BASE(package private) static intIOVEC_OFFSETOF_IOV_LEN(package private) static booleanIS_SUPPORTING_TCP_FASTOPEN_CLIENTtcp_fastopen client mode enabled state.(package private) static booleanIS_SUPPORTING_TCP_FASTOPEN_SERVERtcp_fastopen server mode enabled state.private static io.netty.util.internal.logging.InternalLoggerlogger(package private) static intMSG_DONTWAIT(package private) static intMSG_FASTOPEN(package private) static intMSGHDR_OFFSETOF_MSG_CONTROL(package private) static intMSGHDR_OFFSETOF_MSG_CONTROLLEN(package private) static intMSGHDR_OFFSETOF_MSG_FLAGS(package private) static intMSGHDR_OFFSETOF_MSG_IOV(package private) static intMSGHDR_OFFSETOF_MSG_IOVLEN(package private) static intMSGHDR_OFFSETOF_MSG_NAME(package private) static intMSGHDR_OFFSETOF_MSG_NAMELEN(package private) static intPOLLIN(package private) static intPOLLOUT(package private) static intPOLLRDHUPprivate static int[]REQUIRED_IORING_OPS(package private) static intSIZEOF_IOVEC(package private) static intSIZEOF_MSGHDR(package private) static intSIZEOF_SIZE_T(package private) static intSIZEOF_SOCKADDR_IN(package private) static intSIZEOF_SOCKADDR_IN6(package private) static intSIZEOF_SOCKADDR_STORAGE(package private) static intSOCK_CLOEXEC(package private) static intSOCK_NONBLOCK(package private) static intSOCKADDR_IN_OFFSETOF_SIN_ADDR(package private) static intSOCKADDR_IN_OFFSETOF_SIN_FAMILY(package private) static intSOCKADDR_IN_OFFSETOF_SIN_PORT(package private) static intSOCKADDR_IN6_OFFSETOF_SIN6_ADDR(package private) static intSOCKADDR_IN6_OFFSETOF_SIN6_FAMILY(package private) static intSOCKADDR_IN6_OFFSETOF_SIN6_FLOWINFO(package private) static intSOCKADDR_IN6_OFFSETOF_SIN6_PORT(package private) static intSOCKADDR_IN6_OFFSETOF_SIN6_SCOPE_ID(package private) static intSOL_UDPprivate static intTCP_FASTOPEN_MODEprivate static intTFO_ENABLED_CLIENT_MASKprivate static intTFO_ENABLED_SERVER_MASK(package private) static intUDP_SEGMENT
-
Constructor Summary
Constructors Modifier Constructor Description privateNative()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static intblockingEventFd()(package private) static voidcheckAllIOSupported(int ringFd)(package private) static voidcheckKernelVersion(java.lang.String kernelVersion)private static booleancheckKernelVersion0(java.lang.String kernelVersion)(package private) static longcmsghdrData(long hdrAddr)(package private) static intcreateFile(java.lang.String name)(package private) static RingBuffercreateRingBuffer()(package private) static RingBuffercreateRingBuffer(int ringSize)(package private) static RingBuffercreateRingBuffer(int ringSize, int iosqeAsyncThreshold)(package private) static voideventFdWrite(int fd, long value)(package private) static intioUringEnter(int ringFd, int toSubmit, int minComplete, int flags)(package private) static voidioUringExit(long submissionQueueArrayAddress, int submissionQueueRingEntries, long submissionQueueRingAddress, int submissionQueueRingSize, long completionQueueRingAddress, int completionQueueRingSize, int ringFd)private static booleanioUringProbe(int ringFd, int[] ios)private static long[][]ioUringSetup(int entries)(package private) static java.lang.StringkernelVersion()private static voidloadNativeLibrary()(package private) static io.netty.channel.unix.FileDescriptornewBlockingEventFd()private static intregisterUnix()private static inttcpFastopenMode()
-
-
-
Field Detail
-
logger
private static final io.netty.util.internal.logging.InternalLogger logger
-
DEFAULT_RING_SIZE
static final int DEFAULT_RING_SIZE
-
DEFAULT_IOSQE_ASYNC_THRESHOLD
static final int DEFAULT_IOSQE_ASYNC_THRESHOLD
When there are more FDs (= connections) than this setting, the FDs will be marked as IOSQE_ASYNC, under the expectation that read/write ops on the FDs will usually block. If this expectation is correct, IOSQE_ASYNC can reduce CPU usage, but if the expectation is incorrect, it may add additional, unnecessary latency.Default is to never use IOSQE_ASYNC.
-
SOCK_NONBLOCK
static final int SOCK_NONBLOCK
-
SOCK_CLOEXEC
static final int SOCK_CLOEXEC
-
AF_INET
static final short AF_INET
-
AF_INET6
static final short AF_INET6
-
SIZEOF_SOCKADDR_STORAGE
static final int SIZEOF_SOCKADDR_STORAGE
-
SIZEOF_SOCKADDR_IN
static final int SIZEOF_SOCKADDR_IN
-
SIZEOF_SOCKADDR_IN6
static final int SIZEOF_SOCKADDR_IN6
-
SOCKADDR_IN_OFFSETOF_SIN_FAMILY
static final int SOCKADDR_IN_OFFSETOF_SIN_FAMILY
-
SOCKADDR_IN_OFFSETOF_SIN_PORT
static final int SOCKADDR_IN_OFFSETOF_SIN_PORT
-
SOCKADDR_IN_OFFSETOF_SIN_ADDR
static final int SOCKADDR_IN_OFFSETOF_SIN_ADDR
-
IN_ADDRESS_OFFSETOF_S_ADDR
static final int IN_ADDRESS_OFFSETOF_S_ADDR
-
SOCKADDR_IN6_OFFSETOF_SIN6_FAMILY
static final int SOCKADDR_IN6_OFFSETOF_SIN6_FAMILY
-
SOCKADDR_IN6_OFFSETOF_SIN6_PORT
static final int SOCKADDR_IN6_OFFSETOF_SIN6_PORT
-
SOCKADDR_IN6_OFFSETOF_SIN6_FLOWINFO
static final int SOCKADDR_IN6_OFFSETOF_SIN6_FLOWINFO
-
SOCKADDR_IN6_OFFSETOF_SIN6_ADDR
static final int SOCKADDR_IN6_OFFSETOF_SIN6_ADDR
-
SOCKADDR_IN6_OFFSETOF_SIN6_SCOPE_ID
static final int SOCKADDR_IN6_OFFSETOF_SIN6_SCOPE_ID
-
IN6_ADDRESS_OFFSETOF_S6_ADDR
static final int IN6_ADDRESS_OFFSETOF_S6_ADDR
-
SIZEOF_SIZE_T
static final int SIZEOF_SIZE_T
-
SIZEOF_IOVEC
static final int SIZEOF_IOVEC
-
CMSG_SPACE
static final int CMSG_SPACE
-
CMSG_LEN
static final int CMSG_LEN
-
CMSG_OFFSETOF_CMSG_LEN
static final int CMSG_OFFSETOF_CMSG_LEN
-
CMSG_OFFSETOF_CMSG_LEVEL
static final int CMSG_OFFSETOF_CMSG_LEVEL
-
CMSG_OFFSETOF_CMSG_TYPE
static final int CMSG_OFFSETOF_CMSG_TYPE
-
IOVEC_OFFSETOF_IOV_BASE
static final int IOVEC_OFFSETOF_IOV_BASE
-
IOVEC_OFFSETOF_IOV_LEN
static final int IOVEC_OFFSETOF_IOV_LEN
-
SIZEOF_MSGHDR
static final int SIZEOF_MSGHDR
-
MSGHDR_OFFSETOF_MSG_NAME
static final int MSGHDR_OFFSETOF_MSG_NAME
-
MSGHDR_OFFSETOF_MSG_NAMELEN
static final int MSGHDR_OFFSETOF_MSG_NAMELEN
-
MSGHDR_OFFSETOF_MSG_IOV
static final int MSGHDR_OFFSETOF_MSG_IOV
-
MSGHDR_OFFSETOF_MSG_IOVLEN
static final int MSGHDR_OFFSETOF_MSG_IOVLEN
-
MSGHDR_OFFSETOF_MSG_CONTROL
static final int MSGHDR_OFFSETOF_MSG_CONTROL
-
MSGHDR_OFFSETOF_MSG_CONTROLLEN
static final int MSGHDR_OFFSETOF_MSG_CONTROLLEN
-
MSGHDR_OFFSETOF_MSG_FLAGS
static final int MSGHDR_OFFSETOF_MSG_FLAGS
-
POLLIN
static final int POLLIN
-
POLLOUT
static final int POLLOUT
-
POLLRDHUP
static final int POLLRDHUP
-
ERRNO_ECANCELED_NEGATIVE
static final int ERRNO_ECANCELED_NEGATIVE
-
ERRNO_ETIME_NEGATIVE
static final int ERRNO_ETIME_NEGATIVE
-
IORING_OP_POLL_ADD
static final byte IORING_OP_POLL_ADD
-
IORING_OP_TIMEOUT
static final byte IORING_OP_TIMEOUT
-
IORING_OP_TIMEOUT_REMOVE
static final byte IORING_OP_TIMEOUT_REMOVE
-
IORING_OP_ACCEPT
static final byte IORING_OP_ACCEPT
-
IORING_OP_READ
static final byte IORING_OP_READ
-
IORING_OP_WRITE
static final byte IORING_OP_WRITE
-
IORING_OP_RECV
static final byte IORING_OP_RECV
-
IORING_OP_SEND
static final byte IORING_OP_SEND
-
IORING_OP_POLL_REMOVE
static final byte IORING_OP_POLL_REMOVE
-
IORING_OP_CONNECT
static final byte IORING_OP_CONNECT
-
IORING_OP_CLOSE
static final byte IORING_OP_CLOSE
-
IORING_OP_WRITEV
static final byte IORING_OP_WRITEV
-
IORING_OP_SENDMSG
static final byte IORING_OP_SENDMSG
-
IORING_OP_RECVMSG
static final byte IORING_OP_RECVMSG
-
IORING_ENTER_GETEVENTS
static final int IORING_ENTER_GETEVENTS
-
IOSQE_ASYNC
static final int IOSQE_ASYNC
-
MSG_DONTWAIT
static final int MSG_DONTWAIT
-
MSG_FASTOPEN
static final int MSG_FASTOPEN
-
SOL_UDP
static final int SOL_UDP
-
UDP_SEGMENT
static final int UDP_SEGMENT
-
REQUIRED_IORING_OPS
private static final int[] REQUIRED_IORING_OPS
-
TFO_ENABLED_CLIENT_MASK
private static final int TFO_ENABLED_CLIENT_MASK
- See Also:
- Constant Field Values
-
TFO_ENABLED_SERVER_MASK
private static final int TFO_ENABLED_SERVER_MASK
- See Also:
- Constant Field Values
-
TCP_FASTOPEN_MODE
private static final int TCP_FASTOPEN_MODE
-
IS_SUPPORTING_TCP_FASTOPEN_CLIENT
static final boolean IS_SUPPORTING_TCP_FASTOPEN_CLIENT
tcp_fastopen client mode enabled state.
-
IS_SUPPORTING_TCP_FASTOPEN_SERVER
static final boolean IS_SUPPORTING_TCP_FASTOPEN_SERVER
tcp_fastopen server mode enabled state.
-
-
Method Detail
-
createRingBuffer
static RingBuffer createRingBuffer(int ringSize)
-
createRingBuffer
static RingBuffer createRingBuffer(int ringSize, int iosqeAsyncThreshold)
-
createRingBuffer
static RingBuffer createRingBuffer()
-
checkAllIOSupported
static void checkAllIOSupported(int ringFd)
-
checkKernelVersion
static void checkKernelVersion(java.lang.String kernelVersion)
-
checkKernelVersion0
private static boolean checkKernelVersion0(java.lang.String kernelVersion)
-
ioUringProbe
private static boolean ioUringProbe(int ringFd, int[] ios)
-
ioUringSetup
private static long[][] ioUringSetup(int entries)
-
ioUringEnter
static int ioUringEnter(int ringFd, int toSubmit, int minComplete, int flags)
-
eventFdWrite
static void eventFdWrite(int fd, long value)
-
newBlockingEventFd
static io.netty.channel.unix.FileDescriptor newBlockingEventFd()
-
ioUringExit
static void ioUringExit(long submissionQueueArrayAddress, int submissionQueueRingEntries, long submissionQueueRingAddress, int submissionQueueRingSize, long completionQueueRingAddress, int completionQueueRingSize, int ringFd)
-
blockingEventFd
private static int blockingEventFd()
-
createFile
static int createFile(java.lang.String name)
-
registerUnix
private static int registerUnix()
-
cmsghdrData
static long cmsghdrData(long hdrAddr)
-
kernelVersion
static java.lang.String kernelVersion()
-
loadNativeLibrary
private static void loadNativeLibrary()
-
tcpFastopenMode
private static int tcpFastopenMode()
-
-