KQueueChannelConfig Class — netty Architecture
Architecture documentation for the KQueueChannelConfig class in KQueueChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 5b1a4258_c619_2f7e_64fe_ed59667f293f["KQueueChannelConfig"] 38405807_9dd8_cb29_323d_8e8cc1a1f13f["KQueueChannelConfig.java"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|defined in| 38405807_9dd8_cb29_323d_8e8cc1a1f13f aa9fea7b_bccb_80f0_dde8_c8b0cc2d5be3["KQueueChannelConfig()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| aa9fea7b_bccb_80f0_dde8_c8b0cc2d5be3 b4d8d4a5_dff9_919d_5621_99ae67e1ef81["getOptions()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| b4d8d4a5_dff9_919d_5621_99ae67e1ef81 d8d2da7c_bcbc_cb50_5e5e_3253bf97b73a["T()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| d8d2da7c_bcbc_cb50_5e5e_3253bf97b73a 466a4566_456c_0594_7a69_66501feabb95["setOption()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| 466a4566_456c_0594_7a69_66501feabb95 bae843e9_55e8_513c_ffc2_2411a67d6dd2["getRcvAllocTransportProvidesGuess()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| bae843e9_55e8_513c_ffc2_2411a67d6dd2 cbd92dc3_4469_1ab9_8a24_e8bf95120736["autoReadCleared()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| cbd92dc3_4469_1ab9_8a24_e8bf95120736 a2d5c7a2_dc64_2c2d_c5be_ef943bc420a9["setMaxBytesPerGatheringWrite()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| a2d5c7a2_dc64_2c2d_c5be_ef943bc420a9 31e6817c_0a12_3b4d_d6ce_1089e236ada8["getMaxBytesPerGatheringWrite()"] 5b1a4258_c619_2f7e_64fe_ed59667f293f -->|method| 31e6817c_0a12_3b4d_d6ce_1089e236ada8
Relationship Graph
Source Code
transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueChannelConfig.java lines 36–206
public class KQueueChannelConfig extends DefaultChannelConfig {
private volatile boolean transportProvidesGuess;
private volatile long maxBytesPerGatheringWrite = SSIZE_MAX;
KQueueChannelConfig(AbstractKQueueChannel channel) {
super(channel);
}
KQueueChannelConfig(AbstractKQueueChannel channel, RecvByteBufAllocator recvByteBufAllocator) {
super(channel, recvByteBufAllocator);
}
@Override
@SuppressWarnings("deprecation")
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(super.getOptions(), RCV_ALLOC_TRANSPORT_PROVIDES_GUESS);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == RCV_ALLOC_TRANSPORT_PROVIDES_GUESS) {
return (T) Boolean.valueOf(getRcvAllocTransportProvidesGuess());
}
try {
if (option instanceof IntegerUnixChannelOption) {
IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
return (T) Integer.valueOf(((AbstractKQueueChannel) channel).socket.getIntOpt(
opt.level(), opt.optname()));
}
if (option instanceof RawUnixChannelOption) {
RawUnixChannelOption opt = (RawUnixChannelOption) option;
ByteBuffer out = ByteBuffer.allocate(opt.length());
((AbstractKQueueChannel) 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);
if (option == RCV_ALLOC_TRANSPORT_PROVIDES_GUESS) {
setRcvAllocTransportProvidesGuess((Boolean) value);
} else {
try {
if (option instanceof IntegerUnixChannelOption) {
IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
((AbstractKQueueChannel) channel).socket.setIntOpt(opt.level(), opt.optname(), (Integer) value);
return true;
} else if (option instanceof RawUnixChannelOption) {
RawUnixChannelOption opt = (RawUnixChannelOption) option;
((AbstractKQueueChannel) channel).socket.setRawOpt(opt.level(), opt.optname(), (ByteBuffer) value);
return true;
}
} catch (IOException e) {
throw new ChannelException(e);
}
return super.setOption(option, value);
}
return true;
}
/**
* If this is {@code true} then the {@link RecvByteBufAllocator.Handle#guess()} will be overridden to always attempt
* to read as many bytes as kqueue says are available.
*
* @deprecated will be removed and is ignored.
*/
@Deprecated
public KQueueChannelConfig setRcvAllocTransportProvidesGuess(boolean transportProvidesGuess) {
this.transportProvidesGuess = transportProvidesGuess;
return this;
}
/**
Source
Frequently Asked Questions
What is the KQueueChannelConfig class?
KQueueChannelConfig is a class in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueChannelConfig.java.
Where is KQueueChannelConfig defined?
KQueueChannelConfig is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueChannelConfig.java at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free