Home / Class/ IoUringChannelConfig Class — netty Architecture

IoUringChannelConfig Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  5e4ddcd7_d7e1_2569_9076_74e2270df755["IoUringChannelConfig"]
  6096c249_bd29_2b16_a590_4e38d0bc9deb["IoUringChannelConfig.java"]
  5e4ddcd7_d7e1_2569_9076_74e2270df755 -->|defined in| 6096c249_bd29_2b16_a590_4e38d0bc9deb
  a4e39e20_037b_d4d7_c2a7_0ed9b4d29f8d["IoUringChannelConfig()"]
  5e4ddcd7_d7e1_2569_9076_74e2270df755 -->|method| a4e39e20_037b_d4d7_c2a7_0ed9b4d29f8d
  f0d08c90_0e9c_77ae_4936_79fc7619b31c["T()"]
  5e4ddcd7_d7e1_2569_9076_74e2270df755 -->|method| f0d08c90_0e9c_77ae_4936_79fc7619b31c
  3b726ac1_c9f2_5cbe_408f_7ead57a5841c["setOption()"]
  5e4ddcd7_d7e1_2569_9076_74e2270df755 -->|method| 3b726ac1_c9f2_5cbe_408f_7ead57a5841c
  7e09d61d_cf23_6297_e075_86bdd79ab8c4["autoReadCleared()"]
  5e4ddcd7_d7e1_2569_9076_74e2270df755 -->|method| 7e09d61d_cf23_6297_e075_86bdd79ab8c4

Relationship Graph

Source Code

transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringChannelConfig.java lines 31–156

abstract class IoUringChannelConfig extends DefaultChannelConfig {
    IoUringChannelConfig(AbstractIoUringChannel channel) {
        super(channel);
    }

    IoUringChannelConfig(AbstractIoUringChannel channel, RecvByteBufAllocator allocator) {
        super(channel, allocator);
    }

    @SuppressWarnings("unchecked")
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        try {
            if (option instanceof IntegerUnixChannelOption) {
                IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
                return (T) Integer.valueOf(((AbstractIoUringChannel) channel).socket.getIntOpt(
                        opt.level(), opt.optname()));
            }
            if (option instanceof RawUnixChannelOption) {
                RawUnixChannelOption opt = (RawUnixChannelOption) option;
                ByteBuffer out = ByteBuffer.allocate(opt.length());
                ((AbstractIoUringChannel) channel).socket.getRawOpt(opt.level(), opt.optname(), out);
                return (T) out.flip();
            }
        } catch (IOException e) {
            throw new ChannelException(e);
        }
        return super.getOption(option);
    }

    @Override
    public <T> boolean setOption(ChannelOption<T> option, T value) {
        validate(option, value);
        try {
            if (option instanceof IntegerUnixChannelOption) {
                IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
                ((AbstractIoUringChannel) channel).socket.setIntOpt(opt.level(), opt.optname(), (Integer) value);
                return true;
            } else if (option instanceof RawUnixChannelOption) {
                RawUnixChannelOption opt = (RawUnixChannelOption) option;
                ((AbstractIoUringChannel) channel).socket.setRawOpt(opt.level(), opt.optname(), (ByteBuffer) value);
                return true;
            }
        } catch (IOException e) {
            throw new ChannelException(e);
        }
        return super.setOption(option, value);
    }

    @Override
    public IoUringChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead) {
        super.setMaxMessagesPerRead(maxMessagesPerRead);
        return this;
    }

    @Override
    public IoUringChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis) {
        super.setConnectTimeoutMillis(connectTimeoutMillis);
        return this;
    }

    @Override
    public IoUringChannelConfig setMaxMessagesPerWrite(int maxMessagesPerWrite) {
        super.setMaxMessagesPerWrite(maxMessagesPerWrite);
        return this;
    }

    @Override
    public IoUringChannelConfig setWriteSpinCount(int writeSpinCount) {
        super.setWriteSpinCount(writeSpinCount);
        return this;
    }

    @Override
    public IoUringChannelConfig setAllocator(ByteBufAllocator allocator) {
        super.setAllocator(allocator);
        return this;
    }

    @Override
    public IoUringChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator) {

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free