Home / Class/ UserData Class — netty Architecture

UserData Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  8c790726_75a3_f9a5_cba9_6d86d5c7c420["UserData"]
  08281357_587f_1c86_5c9f_00d79d5d8f60["UserData.java"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|defined in| 08281357_587f_1c86_5c9f_00d79d5d8f60
  01f55886_c103_97da_fa0a_8a300b87fdf4["UserData()"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|method| 01f55886_c103_97da_fa0a_8a300b87fdf4
  3b798c81_4dfb_f8da_5b0d_abf6ec43a329["encode()"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|method| 3b798c81_4dfb_f8da_5b0d_abf6ec43a329
  a265bc6d_af67_015d_ab73_250d0d039f8a["decodeId()"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|method| a265bc6d_af67_015d_ab73_250d0d039f8a
  06e8fc3e_02b1_ef2a_dac8_6546554675c3["decodeOp()"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|method| 06e8fc3e_02b1_ef2a_dac8_6546554675c3
  c825b244_36c4_9d02_a219_422b4708296c["decodeData()"]
  8c790726_75a3_f9a5_cba9_6d86d5c7c420 -->|method| c825b244_36c4_9d02_a219_422b4708296c

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/UserData.java lines 18–45

final class UserData {
    private UserData() {
    }

    /**
     * Encode the given data into a long that can be stored as udata.
     *
     * @param id        the id.
     * @param op        the operation
     * @param data      the custom data
     * @return          the udata.
     */
    static long encode(int id, byte op, short data) {
        return ((long) data << 48) | ((op & 0xFFL)  << 32) | id & 0xFFFFFFFFL;
    }

    static int decodeId(long udata) {
        return (int) (udata & 0xFFFFFFFFL);
    }

    static byte decodeOp(long udata) {
        return (byte) ((udata >>> 32) & 0xFFL);
    }

    static short decodeData(long udata) {
        return (short) (udata >>> 48);
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free