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) {
Defined In
Source
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