Home / Class/ IoUringIoOps Class — netty Architecture

IoUringIoOps Class — netty Architecture

Architecture documentation for the IoUringIoOps class in IoUringIoOps.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5["IoUringIoOps"]
  006a785c_efeb_1884_4717_d15347f25549["IoUringIoOps.java"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|defined in| 006a785c_efeb_1884_4717_d15347f25549
  d9b935f9_2068_2514_3b00_43f930825e3f["IoUringIoOps()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| d9b935f9_2068_2514_3b00_43f930825e3f
  9d35f549_283c_f05e_b6ce_5fa8c787bc70["opcode()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 9d35f549_283c_f05e_b6ce_5fa8c787bc70
  70aafa90_11a7_20ee_f4d3_1856ba31444f["flags()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 70aafa90_11a7_20ee_f4d3_1856ba31444f
  cd111c05_d298_cd81_6fe6_6196b29b6c18["ioPrio()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| cd111c05_d298_cd81_6fe6_6196b29b6c18
  c91dcc8a_0ba7_705a_5197_1d025ee0b333["fd()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| c91dcc8a_0ba7_705a_5197_1d025ee0b333
  986542ee_69c2_4303_9f16_f969902e0bf9["union1()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 986542ee_69c2_4303_9f16_f969902e0bf9
  884a4d0b_5d88_a28f_5b37_90d90577d365["union2()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 884a4d0b_5d88_a28f_5b37_90d90577d365
  e18920a0_647e_2009_fcdd_b38531d1b5c0["len()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| e18920a0_647e_2009_fcdd_b38531d1b5c0
  bad50cd8_a766_66e2_c429_eaccc72f47ff["union3()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| bad50cd8_a766_66e2_c429_eaccc72f47ff
  295d804a_a005_8343_092b_0f5909e82e86["data()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 295d804a_a005_8343_092b_0f5909e82e86
  76a05b52_4add_0291_ca59_db6eec1d4e8e["personality()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| 76a05b52_4add_0291_ca59_db6eec1d4e8e
  ddd4ca70_8c83_a018_7cff_5a15e7b3a18f["union4()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| ddd4ca70_8c83_a018_7cff_5a15e7b3a18f
  db880047_4102_43e1_ce0e_85acdbefb575["union5()"]
  e6443e97_b87f_da14_ce4b_19cb9f7db7e5 -->|method| db880047_4102_43e1_ce0e_85acdbefb575

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringIoOps.java lines 24–484

public final class IoUringIoOps implements IoOps {

    private final byte opcode;
    private final byte flags;
    private final short ioPrio;
    private final int fd;
    private final long union1;
    private final long union2;
    private final int len;
    private final int union3;
    private final short data;
    private final short personality;
    private final short union4;
    private final int union5;
    private final long union6;

    /**
     * Create a new instance which represents the {@code io_uring_sqe} struct.
     *
     * <pre>{@code
     *  struct io_uring_sqe {
     *      __u8    opcode;    // type of operation for this sqe
     *      __u8    flags;     // IOSQE_ flags
     *      __u16   ioprio;    // ioprio for the request
     *      __s32   fd;        // file descriptor to do IO on
     *
     *      union {            // union1
     *          __u64 off;     // offset into file
     *          __u64 addr2;
     *          struct {
     *              __u32 cmd_op;
     *              __u32 __pad1;
     *          };
     *      };
     *
     *      union {             // union2
     *          __u64 addr;    // pointer to buffer or iovecs
     *          __u64 splice_off_in;
     *          struct {
     *              __u32 level;
     *              __u32 optname;
     *          };
     *      };
     *      __u32 len;        // buffer size or number of iovecs
     *
     *      union {           // union3
     *          __kernel_rwf_t rw_flags;
     *          __u32 fsync_flags;
     *          __u16 poll_events;    // compatibility
     *          __u32 poll32_events; // word-reversed for BE
     *          __u32 sync_range_flags;
     *          __u32 msg_flags;
     *          __u32 timeout_flags;
     *          __u32 accept_flags;
     *          __u32 cancel_flags;
     *          __u32 open_flags;
     *          __u32 statx_flags;
     *          __u32 fadvise_advice;
     *          __u32 splice_flags;
     *          __u32 rename_flags;
     *          __u32 unlink_flags;
     *          __u32 hardlink_flags;
     *          __u32 xeattr_flags;
     *          __u32 msg_ring_flags;
     *          __u32 uring_cmd_flags;
     *          __u32 waitid_flags;
     *          __u32 futex_flags;
     *          __u32 install_fd_flags;
     *          __u32 nop_flags;
     *      };
     *      __u64 user_data;    // data to be passed back at completion time
     *                          // pack this to avoid bogus arm OABI complaints
     *
     *      union {             // union4
     *
     *          // index into fixed buffers, if used
     *          __u16 buf_index;
     *          // for grouped buffer selection
     *          __u16 buf_group;
     *      }__attribute__((packed));
     *      // personality to use, if used

Frequently Asked Questions

What is the IoUringIoOps class?
IoUringIoOps is a class in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringIoOps.java.
Where is IoUringIoOps defined?
IoUringIoOps is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringIoOps.java at line 24.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free