DefaultServerSocketChannelConfig Class — netty Architecture
Architecture documentation for the DefaultServerSocketChannelConfig class in DefaultServerSocketChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD cf71ff77_46f7_8b29_5c38_eef591f5058f["DefaultServerSocketChannelConfig"] 45d7010e_2ea8_919c_26fc_d603c13ac3d4["DefaultServerSocketChannelConfig.java"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|defined in| 45d7010e_2ea8_919c_26fc_d603c13ac3d4 5db47e79_9eab_80a8_08dd_1181ef800f09["DefaultServerSocketChannelConfig()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 5db47e79_9eab_80a8_08dd_1181ef800f09 06433166_256d_28b5_b5d2_87422aa7b5f4["getOptions()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 06433166_256d_28b5_b5d2_87422aa7b5f4 5415bc8b_de88_c15a_18d5_72ca3210ed49["T()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 5415bc8b_de88_c15a_18d5_72ca3210ed49 d0376416_7232_eb09_92fd_f1afd3fa365c["setOption()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| d0376416_7232_eb09_92fd_f1afd3fa365c 4b6b890b_8013_514e_5ff8_32b64266e6f3["isReuseAddress()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 4b6b890b_8013_514e_5ff8_32b64266e6f3 129b16a7_4d7e_aa4a_bdec_27c6fd879a53["ServerSocketChannelConfig()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 129b16a7_4d7e_aa4a_bdec_27c6fd879a53 eae12f5c_85dc_e125_d9aa_07efefa401c1["getReceiveBufferSize()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| eae12f5c_85dc_e125_d9aa_07efefa401c1 49603c4d_56bb_a3be_1274_83310c5c9f81["getBacklog()"] cf71ff77_46f7_8b29_5c38_eef591f5058f -->|method| 49603c4d_56bb_a3be_1274_83310c5c9f81
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java lines 41–209
public class DefaultServerSocketChannelConfig extends DefaultChannelConfig
implements ServerSocketChannelConfig {
protected final ServerSocket javaSocket;
private volatile int backlog = NetUtil.SOMAXCONN;
/**
* Creates a new instance.
*/
public DefaultServerSocketChannelConfig(ServerSocketChannel channel, ServerSocket javaSocket) {
super(channel, new ServerChannelRecvByteBufAllocator());
this.javaSocket = ObjectUtil.checkNotNull(javaSocket, "javaSocket");
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(super.getOptions(), SO_RCVBUF, SO_REUSEADDR, SO_BACKLOG);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == SO_RCVBUF) {
return (T) Integer.valueOf(getReceiveBufferSize());
}
if (option == SO_REUSEADDR) {
return (T) Boolean.valueOf(isReuseAddress());
}
if (option == SO_BACKLOG) {
return (T) Integer.valueOf(getBacklog());
}
return super.getOption(option);
}
@Override
public <T> boolean setOption(ChannelOption<T> option, T value) {
validate(option, value);
if (option == SO_RCVBUF) {
setReceiveBufferSize((Integer) value);
} else if (option == SO_REUSEADDR) {
setReuseAddress((Boolean) value);
} else if (option == SO_BACKLOG) {
setBacklog((Integer) value);
} else {
return super.setOption(option, value);
}
return true;
}
@Override
public boolean isReuseAddress() {
try {
return javaSocket.getReuseAddress();
} catch (SocketException e) {
throw new ChannelException(e);
}
}
@Override
public ServerSocketChannelConfig setReuseAddress(boolean reuseAddress) {
try {
javaSocket.setReuseAddress(reuseAddress);
} catch (SocketException e) {
throw new ChannelException(e);
}
return this;
}
@Override
public int getReceiveBufferSize() {
try {
return javaSocket.getReceiveBufferSize();
} catch (SocketException e) {
throw new ChannelException(e);
}
}
@Override
Source
Frequently Asked Questions
What is the DefaultServerSocketChannelConfig class?
DefaultServerSocketChannelConfig is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java.
Where is DefaultServerSocketChannelConfig defined?
DefaultServerSocketChannelConfig is defined in transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java at line 41.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free