Class IoUringIoOps

  • All Implemented Interfaces:
    IoOps

    public final class IoUringIoOps
    extends java.lang.Object
    implements IoOps
    IoOps for implementation for Io_uring.
    • Constructor Summary

      Constructors 
      Constructor Description
      IoUringIoOps​(byte opcode, byte flags, short ioPrio, int fd, long union1, long union2, int len, int union3, short data, short union4, short personality, int union5, long union6)
      Create a new instance which represents the io_uring_sqe struct.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • IoUringIoOps

        public IoUringIoOps​(byte opcode,
                            byte flags,
                            short ioPrio,
                            int fd,
                            long union1,
                            long union2,
                            int len,
                            int union3,
                            short data,
                            short union4,
                            short personality,
                            int union5,
                            long union6)
        Create a new instance which represents the io_uring_sqe struct.
        
          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
              __u16 personality;
        
              union {            // union5
        
                  __s32 splice_fd_in;
                  __u32 file_index;
                  __u32 optlen;
                  struct {
                      __u16 addr_len;
                      __u16 __pad3[ 1];
                  };
              };
        
              union {           // union6
        
                  struct {
                      __u64 addr3;
                      __u64 __pad2[ 1];
                  };
                  __u64 optval;
                  //
                  // If the ring is initialized with IORING_SETUP_SQE128, then
                  // this field is used for 80 bytes of arbitrary command data
                  __u8 cmd[ 0];
              };
          };
         
         
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object