Home / Class/ OioServerSocketChannel Class — netty Architecture

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() {

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