io.netty.channel.sctp.SctpChannelConfig Maven / Gradle / Ivy
Go to download
This artifact provides a single jar that contains all classes required to use remote Jakarta Enterprise Beans and Jakarta Messaging, including
all dependencies. It is intended for use by those not using maven, maven users should just import the Jakarta Enterprise Beans and
Jakarta Messaging BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up
with different versions on classes on the class path).
/*
* Copyright 2011 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.channel.sctp;
import com.sun.nio.sctp.SctpStandardSocketOptions.InitMaxStreams;
import io.netty.buffer.ByteBufAllocator;
import io.netty.channel.ChannelConfig;
import io.netty.channel.MessageSizeEstimator;
import io.netty.channel.RecvByteBufAllocator;
/**
* A {@link ChannelConfig} for a {@link SctpChannel}.
*
* Available options
*
* In addition to the options provided by {@link ChannelConfig},
* {@link SctpChannelConfig} allows the following options in the option map:
*
*
*
* Name Associated setter method
*
* {@link SctpChannelOption#SCTP_NODELAY} {@link #setSctpNoDelay(boolean)}}
*
* {@link SctpChannelOption#SO_RCVBUF} {@link #setReceiveBufferSize(int)}
*
* {@link SctpChannelOption#SO_SNDBUF} {@link #setSendBufferSize(int)}
*
* {@link SctpChannelOption#SCTP_INIT_MAXSTREAMS} {@link #setInitMaxStreams(InitMaxStreams)}
*
*
*/
public interface SctpChannelConfig extends ChannelConfig {
/**
* Gets the
* {@code SCTP_NODELAY} option. Please note that the default value of this option is {@code true} unlike the
* operating system default ({@code false}). However, for some buggy platforms, such as Android, that shows erratic
* behavior with Nagle's algorithm disabled, the default value remains to be {@code false}.
*/
boolean isSctpNoDelay();
/**
* Sets the
* {@code SCTP_NODELAY} option. Please note that the default value of this option is {@code true} unlike the
* operating system default ({@code false}). However, for some buggy platforms, such as Android, that shows erratic
* behavior with Nagle's algorithm disabled, the default value remains to be {@code false}.
*/
SctpChannelConfig setSctpNoDelay(boolean sctpNoDelay);
/**
* Gets the
* {@code SO_SNDBUF} option.
*/
int getSendBufferSize();
/**
* Sets the
* {@code SO_SNDBUF} option.
*/
SctpChannelConfig setSendBufferSize(int sendBufferSize);
/**
* Gets the
* {@code SO_RCVBUF} option.
*/
int getReceiveBufferSize();
/**
* Gets the
* {@code SO_RCVBUF} option.
*/
SctpChannelConfig setReceiveBufferSize(int receiveBufferSize);
/**
* Gets the
* {@code SCTP_INIT_MAXSTREAMS} option.
*/
InitMaxStreams getInitMaxStreams();
/**
* Gets the
* {@code SCTP_INIT_MAXSTREAMS} option.
*/
SctpChannelConfig setInitMaxStreams(InitMaxStreams initMaxStreams);
@Override
SctpChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis);
@Override
SctpChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead);
@Override
SctpChannelConfig setWriteSpinCount(int writeSpinCount);
@Override
SctpChannelConfig setAllocator(ByteBufAllocator allocator);
@Override
SctpChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator);
@Override
SctpChannelConfig setAutoRead(boolean autoRead);
@Override
SctpChannelConfig setAutoClose(boolean autoClose);
@Override
SctpChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark);
@Override
SctpChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark);
@Override
SctpChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy