OioServerSocketChannel Class — netty Architecture
Architecture documentation for the OioServerSocketChannel class in OioServerSocketChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD a517615e_df65_930b_be6c_232b9e1779dd["OioServerSocketChannel"] c9e0f50d_9d61_3b19_e20c_608bb319368c["OioServerSocketChannel.java"] a517615e_df65_930b_be6c_232b9e1779dd -->|defined in| c9e0f50d_9d61_3b19_e20c_608bb319368c c9624024_743b_793b_ee09_bec529c695a8["ServerSocket()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| c9624024_743b_793b_ee09_bec529c695a8 c7593233_ee2f_9308_e296_6636393d62f2["OioServerSocketChannel()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| c7593233_ee2f_9308_e296_6636393d62f2 2f11a79d_41cc_8afe_e71b_190c8a4d13b9["InetSocketAddress()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 2f11a79d_41cc_8afe_e71b_190c8a4d13b9 44e6b945_aad2_cd19_7a6d_3a495beb6af6["ChannelMetadata()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 44e6b945_aad2_cd19_7a6d_3a495beb6af6 6f3f5a9b_fe43_0974_9b98_6b5e860beaaa["OioServerSocketChannelConfig()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 6f3f5a9b_fe43_0974_9b98_6b5e860beaaa f7a624c7_2c2e_0102_ff9b_563a970d8a5e["isOpen()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| f7a624c7_2c2e_0102_ff9b_563a970d8a5e 9775eed9_ba4e_c9d6_2a70_029ddcbbd19c["isActive()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 9775eed9_ba4e_c9d6_2a70_029ddcbbd19c 2f2c43ac_218c_64ee_193c_cf9e65afc358["SocketAddress()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 2f2c43ac_218c_64ee_193c_cf9e65afc358 e0d81b90_7745_83f4_5a4a_7ac0170e2498["doBind()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| e0d81b90_7745_83f4_5a4a_7ac0170e2498 c9d9318b_3c65_b02d_97e4_e7dd6ec11cf4["doClose()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| c9d9318b_3c65_b02d_97e4_e7dd6ec11cf4 959bd64d_86c8_5d74_e1a6_ca7306657edb["doReadMessages()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 959bd64d_86c8_5d74_e1a6_ca7306657edb 2231b710_17d7_1652_f9d5_eedb6b6841e6["doWrite()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| 2231b710_17d7_1652_f9d5_eedb6b6841e6 f8411406_1016_0e90_5da6_e497e2bcce9a["Object()"] a517615e_df65_930b_be6c_232b9e1779dd -->|method| f8411406_1016_0e90_5da6_e497e2bcce9a
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/socket/oio/OioServerSocketChannel.java lines 43–207
@Deprecated
public class OioServerSocketChannel extends AbstractOioMessageChannel
implements ServerSocketChannel {
private static final InternalLogger logger =
InternalLoggerFactory.getInstance(OioServerSocketChannel.class);
private static final ChannelMetadata METADATA = new ChannelMetadata(false, 1);
private static ServerSocket newServerSocket() {
try {
return new ServerSocket();
} catch (IOException e) {
throw new ChannelException("failed to create a server socket", e);
}
}
final ServerSocket socket;
private final OioServerSocketChannelConfig config;
/**
* Create a new instance with an new {@link Socket}
*/
public OioServerSocketChannel() {
this(newServerSocket());
}
/**
* Create a new instance from the given {@link ServerSocket}
*
* @param socket the {@link ServerSocket} which is used by this instance
*/
public OioServerSocketChannel(ServerSocket socket) {
super(null);
ObjectUtil.checkNotNull(socket, "socket");
boolean success = false;
try {
socket.setSoTimeout(SO_TIMEOUT);
success = true;
} catch (IOException e) {
throw new ChannelException(
"Failed to set the server socket timeout.", e);
} finally {
if (!success) {
try {
socket.close();
} catch (IOException e) {
if (logger.isWarnEnabled()) {
logger.warn(
"Failed to close a partially initialized socket.", e);
}
}
}
}
this.socket = socket;
config = new DefaultOioServerSocketChannelConfig(this, socket);
}
@Override
public InetSocketAddress localAddress() {
return (InetSocketAddress) super.localAddress();
}
@Override
public ChannelMetadata metadata() {
return METADATA;
}
@Override
public OioServerSocketChannelConfig config() {
return config;
}
@Override
public InetSocketAddress remoteAddress() {
return null;
}
@Override
public boolean isOpen() {
Source
Frequently Asked Questions
What is the OioServerSocketChannel class?
OioServerSocketChannel is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/oio/OioServerSocketChannel.java.
Where is OioServerSocketChannel defined?
OioServerSocketChannel is defined in transport/src/main/java/io/netty/channel/socket/oio/OioServerSocketChannel.java at line 43.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free