Home / Class/ DefaultOioDatagramChannelConfig Class — netty Architecture

DefaultOioDatagramChannelConfig Class — netty Architecture

Architecture documentation for the DefaultOioDatagramChannelConfig class in DefaultOioDatagramChannelConfig.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd["DefaultOioDatagramChannelConfig"]
  8897b92b_067c_7355_fbec_33d13c0dbced["DefaultOioDatagramChannelConfig.java"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|defined in| 8897b92b_067c_7355_fbec_33d13c0dbced
  5913e04b_0042_19f4_332d_a32ad44a3479["DefaultOioDatagramChannelConfig()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| 5913e04b_0042_19f4_332d_a32ad44a3479
  441f9448_36aa_b93b_ce20_84addc3bea92["getOptions()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| 441f9448_36aa_b93b_ce20_84addc3bea92
  dacc7156_e597_ab14_f646_7dd4c1716c2c["T()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| dacc7156_e597_ab14_f646_7dd4c1716c2c
  8c7e3cd6_e49d_f41a_e18f_7be032d8c256["setOption()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| 8c7e3cd6_e49d_f41a_e18f_7be032d8c256
  8b85a903_7fd1_a682_0987_352060f12299["OioDatagramChannelConfig()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| 8b85a903_7fd1_a682_0987_352060f12299
  8df96def_01f2_36f4_ef21_1c9f3f56a834["getSoTimeout()"]
  d967b3b0_4d7a_2eae_a76c_66ae5933f8fd -->|method| 8df96def_01f2_36f4_ef21_1c9f3f56a834

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/socket/oio/DefaultOioDatagramChannelConfig.java lines 36–207

final class DefaultOioDatagramChannelConfig extends DefaultDatagramChannelConfig implements OioDatagramChannelConfig  {

    DefaultOioDatagramChannelConfig(DatagramChannel channel, DatagramSocket javaSocket) {
        super(channel, javaSocket);
        setAllocator(new PreferHeapByteBufAllocator(getAllocator()));
    }

    @Override
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(super.getOptions(), SO_TIMEOUT);
    }

    @SuppressWarnings("unchecked")
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        if (option == SO_TIMEOUT) {
            return (T) Integer.valueOf(getSoTimeout());
        }
        return super.getOption(option);
    }

    @Override
    public <T> boolean setOption(ChannelOption<T> option, T value) {
        validate(option, value);

        if (option == SO_TIMEOUT) {
            setSoTimeout((Integer) value);
        } else {
            return super.setOption(option, value);
        }
        return true;
    }

    @Override
    public OioDatagramChannelConfig setSoTimeout(int timeout) {
        try {
            javaSocket().setSoTimeout(timeout);
        } catch (IOException e) {
            throw new ChannelException(e);
        }
        return this;
    }

    @Override
    public int getSoTimeout() {
        try {
            return javaSocket().getSoTimeout();
        } catch (IOException e) {
            throw new ChannelException(e);
        }
    }

    @Override
    public OioDatagramChannelConfig setBroadcast(boolean broadcast) {
        super.setBroadcast(broadcast);
        return this;
    }

    @Override
    public OioDatagramChannelConfig setInterface(InetAddress interfaceAddress) {
        super.setInterface(interfaceAddress);
        return this;
    }

    @Override
    public OioDatagramChannelConfig setLoopbackModeDisabled(boolean loopbackModeDisabled) {
        super.setLoopbackModeDisabled(loopbackModeDisabled);
        return this;
    }

    @Override
    public OioDatagramChannelConfig setNetworkInterface(NetworkInterface networkInterface) {
        super.setNetworkInterface(networkInterface);
        return this;
    }

    @Override
    public OioDatagramChannelConfig setReuseAddress(boolean reuseAddress) {
        super.setReuseAddress(reuseAddress);
        return this;
    }

Frequently Asked Questions

What is the DefaultOioDatagramChannelConfig class?
DefaultOioDatagramChannelConfig is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/oio/DefaultOioDatagramChannelConfig.java.
Where is DefaultOioDatagramChannelConfig defined?
DefaultOioDatagramChannelConfig is defined in transport/src/main/java/io/netty/channel/socket/oio/DefaultOioDatagramChannelConfig.java at line 36.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free