DefaultSctpChannelConfig Class — netty Architecture
Architecture documentation for the DefaultSctpChannelConfig class in DefaultSctpChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 32a1241f_47d8_4f87_e62f_748203294904["DefaultSctpChannelConfig"] 72cd88a8_45ce_7d57_8779_93f3fa237ceb["DefaultSctpChannelConfig.java"] 32a1241f_47d8_4f87_e62f_748203294904 -->|defined in| 72cd88a8_45ce_7d57_8779_93f3fa237ceb 8cf8a08e_6090_af16_ba3b_4b2873189f0e["DefaultSctpChannelConfig()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| 8cf8a08e_6090_af16_ba3b_4b2873189f0e b9f6d80f_691d_140d_d281_aa62fe1a9e73["getOptions()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| b9f6d80f_691d_140d_d281_aa62fe1a9e73 11940031_61ef_f276_cbe2_6b2967e25dbf["T()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| 11940031_61ef_f276_cbe2_6b2967e25dbf e5f8d2de_5a26_c71d_e39c_ca0a8e6ca840["setOption()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| e5f8d2de_5a26_c71d_e39c_ca0a8e6ca840 073720b4_7970_1c2e_5a28_6804c3a6a035["isSctpNoDelay()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| 073720b4_7970_1c2e_5a28_6804c3a6a035 4db8ae39_1bf5_9e82_cdfe_3becb91e5f38["SctpChannelConfig()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| 4db8ae39_1bf5_9e82_cdfe_3becb91e5f38 f0bae2fd_111a_750f_c8a1_ef0645195c46["getSendBufferSize()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| f0bae2fd_111a_750f_c8a1_ef0645195c46 6e19d7e7_21f0_b9d2_6f10_4410e400b98e["getReceiveBufferSize()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| 6e19d7e7_21f0_b9d2_6f10_4410e400b98e f1306211_b9fe_da38_76cc_bf6bf9e4e38b["getInitMaxStreams()"] 32a1241f_47d8_4f87_e62f_748203294904 -->|method| f1306211_b9fe_da38_76cc_bf6bf9e4e38b
Relationship Graph
Source Code
transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java lines 41–245
public class DefaultSctpChannelConfig extends DefaultChannelConfig implements SctpChannelConfig {
private final SctpChannel javaChannel;
public DefaultSctpChannelConfig(io.netty.channel.sctp.SctpChannel channel, SctpChannel javaChannel) {
super(channel);
this.javaChannel = ObjectUtil.checkNotNull(javaChannel, "javaChannel");
// Enable TCP_NODELAY by default if possible.
if (PlatformDependent.canEnableTcpNoDelayByDefault()) {
try {
setSctpNoDelay(true);
} catch (Exception e) {
// Ignore.
}
}
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(
super.getOptions(),
SO_RCVBUF, SO_SNDBUF, SCTP_NODELAY, SCTP_INIT_MAXSTREAMS);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == SO_RCVBUF) {
return (T) Integer.valueOf(getReceiveBufferSize());
}
if (option == SO_SNDBUF) {
return (T) Integer.valueOf(getSendBufferSize());
}
if (option == SCTP_NODELAY) {
return (T) Boolean.valueOf(isSctpNoDelay());
}
if (option == 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 == SO_RCVBUF) {
setReceiveBufferSize((Integer) value);
} else if (option == SO_SNDBUF) {
setSendBufferSize((Integer) value);
} else if (option == SCTP_NODELAY) {
setSctpNoDelay((Boolean) value);
} else if (option == SCTP_INIT_MAXSTREAMS) {
setInitMaxStreams((SctpStandardSocketOptions.InitMaxStreams) value);
} else {
return super.setOption(option, value);
}
return true;
}
@Override
public boolean isSctpNoDelay() {
try {
return javaChannel.getOption(SctpStandardSocketOptions.SCTP_NODELAY);
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public SctpChannelConfig setSctpNoDelay(boolean sctpNoDelay) {
try {
javaChannel.setOption(SctpStandardSocketOptions.SCTP_NODELAY, sctpNoDelay);
} catch (IOException e) {
throw new ChannelException(e);
}
return this;
}
Source
Frequently Asked Questions
What is the DefaultSctpChannelConfig class?
DefaultSctpChannelConfig is a class in the netty codebase, defined in transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java.
Where is DefaultSctpChannelConfig defined?
DefaultSctpChannelConfig is defined in transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java at line 41.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free