Home / Class/ DefaultSctpServerChannelConfig Class — netty Architecture

DefaultSctpServerChannelConfig Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  40456af4_21bf_9024_a843_04200d414127["DefaultSctpServerChannelConfig"]
  6c25c188_7d6b_5daa_9cf3_28bdac315c2e["DefaultSctpServerChannelConfig.java"]
  40456af4_21bf_9024_a843_04200d414127 -->|defined in| 6c25c188_7d6b_5daa_9cf3_28bdac315c2e
  89297c72_f19e_e56e_72d5_a2472f2d67cd["DefaultSctpServerChannelConfig()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 89297c72_f19e_e56e_72d5_a2472f2d67cd
  67711428_898d_6489_4bf1_a460f2cdd44f["getOptions()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 67711428_898d_6489_4bf1_a460f2cdd44f
  764c230a_9dcb_55fb_be9b_213ccc62db95["T()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 764c230a_9dcb_55fb_be9b_213ccc62db95
  f9d6be71_9738_9cc8_2e3d_55cf94d939ac["setOption()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| f9d6be71_9738_9cc8_2e3d_55cf94d939ac
  71a7415c_88a3_9405_978b_329b9963b1da["getSendBufferSize()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 71a7415c_88a3_9405_978b_329b9963b1da
  8db450ac_2da0_d83e_1458_9dcdd3c0fe45["SctpServerChannelConfig()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 8db450ac_2da0_d83e_1458_9dcdd3c0fe45
  9d831453_5012_cf38_9bd1_e94aef2af937["getReceiveBufferSize()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 9d831453_5012_cf38_9bd1_e94aef2af937
  19263fa6_6b03_4a7a_ab1d_bf87cc283b8a["getInitMaxStreams()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 19263fa6_6b03_4a7a_ab1d_bf87cc283b8a
  2c6c2388_8257_7158_06a0_9dc844778c37["getBacklog()"]
  40456af4_21bf_9024_a843_04200d414127 -->|method| 2c6c2388_8257_7158_06a0_9dc844778c37

Relationship Graph

Source Code

transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java lines 39–233

public class DefaultSctpServerChannelConfig extends DefaultChannelConfig implements SctpServerChannelConfig {

    private final SctpServerChannel javaChannel;
    private volatile int backlog = NetUtil.SOMAXCONN;

    /**
     * Creates a new instance.
     */
    public DefaultSctpServerChannelConfig(
            io.netty.channel.sctp.SctpServerChannel channel, SctpServerChannel javaChannel) {
        super(channel, new ServerChannelRecvByteBufAllocator());
        this.javaChannel = ObjectUtil.checkNotNull(javaChannel, "javaChannel");
    }

    @Override
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(
                super.getOptions(),
                ChannelOption.SO_RCVBUF, ChannelOption.SO_SNDBUF, ChannelOption.SO_BACKLOG,
                SctpChannelOption.SCTP_INIT_MAXSTREAMS);
    }

    @SuppressWarnings("unchecked")
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        if (option == ChannelOption.SO_RCVBUF) {
            return (T) Integer.valueOf(getReceiveBufferSize());
        }
        if (option == ChannelOption.SO_SNDBUF) {
            return (T) Integer.valueOf(getSendBufferSize());
        }
        if (option == ChannelOption.SO_BACKLOG) {
            return (T) Integer.valueOf(getBacklog());
        }
        if (option == SctpChannelOption.SCTP_INIT_MAXSTREAMS) {
            return (T) getInitMaxStreams();
        }
        return super.getOption(option);
    }

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

        if (option == ChannelOption.SO_RCVBUF) {
            setReceiveBufferSize((Integer) value);
        } else if (option == ChannelOption.SO_SNDBUF) {
            setSendBufferSize((Integer) value);
        } else if (option == ChannelOption.SO_BACKLOG) {
            setSendBufferSize((Integer) value);
        } else if (option == SctpChannelOption.SCTP_INIT_MAXSTREAMS) {
            setInitMaxStreams((SctpStandardSocketOptions.InitMaxStreams) value);
        } else {
            return super.setOption(option, value);
        }

        return true;
    }

    @Override
    public int getSendBufferSize() {
        try {
            return javaChannel.getOption(SctpStandardSocketOptions.SO_SNDBUF);
        } catch (IOException e) {
            throw new ChannelException(e);
        }
    }

    @Override
    public SctpServerChannelConfig setSendBufferSize(int sendBufferSize) {
        try {
            javaChannel.setOption(SctpStandardSocketOptions.SO_SNDBUF, sendBufferSize);
        } catch (IOException e) {
            throw new ChannelException(e);
        }
        return this;
    }

    @Override
    public int getReceiveBufferSize() {
        try {

Frequently Asked Questions

What is the DefaultSctpServerChannelConfig class?
DefaultSctpServerChannelConfig is a class in the netty codebase, defined in transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java.
Where is DefaultSctpServerChannelConfig defined?
DefaultSctpServerChannelConfig is defined in transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java at line 39.

Analyze Your Own Codebase

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

Try Supermodel Free