/*
 * Copyright 2012 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.udt;

import com.barchart.udt.OptionUDT;
import com.barchart.udt.TypeUDT;
import io.netty.buffer.ByteBufAllocator;
import io.netty.channel.ChannelConfig;
import io.netty.channel.ChannelException;
import io.netty.channel.ChannelOption;
import io.netty.channel.MessageSizeEstimator;
import io.netty.channel.RecvByteBufAllocator;
import io.netty.channel.WriteBufferWaterMark;

A ChannelConfig for a UdtChannel.

Available options

In addition to the options provided by ChannelConfig, UdtChannelConfig allows the following options in the option map:

Name Associated setter method
ChannelOption.SO_REUSEADDRsetReuseAddress(boolean)
ChannelOption.SO_RCVBUFsetReceiveBufferSize(int)
ChannelOption.SO_SNDBUFsetSendBufferSize(int)
ChannelOption.SO_REUSEADDRsetReuseAddress(boolean)
ChannelOption.SO_LINGERsetSoLinger(int)
ChannelOption.SO_RCVBUFsetReceiveBufferSize(int)
ChannelOption.SO_SNDBUFsetSendBufferSize(int)
UdtChannelOption.PROTOCOL_RECEIVE_BUFFER_SIZE setProtocolReceiveBufferSize(int)
UdtChannelOption.PROTOCOL_SEND_BUFFER_SIZE setProtocolSendBufferSize(int)
UdtChannelOption.SYSTEM_RECEIVE_BUFFER_SIZE setSystemReceiveBufferSize(int)
UdtChannelOption.SYSTEM_SEND_BUFFER_SIZE setSystemSendBufferSize(int)

Note that TypeUDT.DATAGRAM message oriented channels treat "receiveBufferSize" and "sendBufferSize" as maximum message size. If received or sent message does not fit specified sizes, ChannelException will be thrown.

Deprecated:The UDT transport is no longer maintained and will be removed.
/** * A {@link ChannelConfig} for a {@link UdtChannel}. * <p> * <h3>Available options</h3> * In addition to the options provided by {@link ChannelConfig}, * {@link UdtChannelConfig} allows the following options in the option map: * <p> * <table border="1" cellspacing="0" cellpadding="6"> * <tr> * <th>Name</th> * <th>Associated setter method</th> * </tr><tr> * <td>{@link ChannelOption#SO_REUSEADDR}</td><td>{@link #setReuseAddress(boolean)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_RCVBUF}</td><td>{@link #setReceiveBufferSize(int)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_SNDBUF}</td><td>{@link #setSendBufferSize(int)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_REUSEADDR}</td><td>{@link #setReuseAddress(boolean)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_LINGER}</td><td>{@link #setSoLinger(int)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_RCVBUF}</td><td>{@link #setReceiveBufferSize(int)}</td> * </tr><tr> * <td>{@link ChannelOption#SO_SNDBUF}</td><td>{@link #setSendBufferSize(int)}</td> * </tr><tr> * <td>{@link UdtChannelOption#PROTOCOL_RECEIVE_BUFFER_SIZE}</td> * <td>{@link #setProtocolReceiveBufferSize(int)}</td> * </tr><tr> * <td>{@link UdtChannelOption#PROTOCOL_SEND_BUFFER_SIZE}</td> * <td>{@link #setProtocolSendBufferSize(int)}</td> * </tr><tr> * <td>{@link UdtChannelOption#SYSTEM_RECEIVE_BUFFER_SIZE}</td> * <td>{@link #setSystemReceiveBufferSize(int)}</td> * </tr><tr> * <td>{@link UdtChannelOption#SYSTEM_SEND_BUFFER_SIZE}</td> * <td>{@link #setSystemSendBufferSize(int)}</td> * </tr> * </table> * <p> * Note that {@link TypeUDT#DATAGRAM} message oriented channels treat * {@code "receiveBufferSize"} and {@code "sendBufferSize"} as maximum message * size. If received or sent message does not fit specified sizes, * {@link ChannelException} will be thrown. * * @deprecated The UDT transport is no longer maintained and will be removed. */
@Deprecated public interface UdtChannelConfig extends ChannelConfig { /** * Gets {@link OptionUDT#Protocol_Receive_Buffer_Size} */ int getProtocolReceiveBufferSize(); /** * Gets {@link OptionUDT#Protocol_Send_Buffer_Size} */ int getProtocolSendBufferSize();
Gets the ChannelOption.SO_RCVBUF option.
/** * Gets the {@link ChannelOption#SO_RCVBUF} option. */
int getReceiveBufferSize();
Gets the ChannelOption.SO_SNDBUF option.
/** * Gets the {@link ChannelOption#SO_SNDBUF} option. */
int getSendBufferSize();
Gets the ChannelOption.SO_LINGER option.
/** * Gets the {@link ChannelOption#SO_LINGER} option. */
int getSoLinger(); /** * Gets {@link OptionUDT#System_Receive_Buffer_Size} */ int getSystemReceiveBufferSize(); /** * Gets {@link OptionUDT#System_Send_Buffer_Size} */ int getSystemSendBufferSize();
Gets the ChannelOption.SO_REUSEADDR option.
/** * Gets the {@link ChannelOption#SO_REUSEADDR} option. */
boolean isReuseAddress(); @Override UdtChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis); @Override @Deprecated UdtChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead); @Override UdtChannelConfig setWriteSpinCount(int writeSpinCount); @Override UdtChannelConfig setAllocator(ByteBufAllocator allocator); @Override UdtChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator); @Override UdtChannelConfig setAutoRead(boolean autoRead); @Override UdtChannelConfig setAutoClose(boolean autoClose); @Override UdtChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark); @Override UdtChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark); @Override UdtChannelConfig setWriteBufferWaterMark(WriteBufferWaterMark writeBufferWaterMark); @Override UdtChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator); /** * Sets {@link OptionUDT#Protocol_Receive_Buffer_Size} */ UdtChannelConfig setProtocolReceiveBufferSize(int size); /** * Sets {@link OptionUDT#Protocol_Send_Buffer_Size} */ UdtChannelConfig setProtocolSendBufferSize(int size);
Sets the ChannelOption.SO_RCVBUF option.
/** * Sets the {@link ChannelOption#SO_RCVBUF} option. */
UdtChannelConfig setReceiveBufferSize(int receiveBufferSize);
Sets the ChannelOption.SO_REUSEADDR option.
/** * Sets the {@link ChannelOption#SO_REUSEADDR} option. */
UdtChannelConfig setReuseAddress(boolean reuseAddress);
Sets the ChannelOption.SO_SNDBUF option.
/** * Sets the {@link ChannelOption#SO_SNDBUF} option. */
UdtChannelConfig setSendBufferSize(int sendBufferSize);
Sets the ChannelOption.SO_LINGER option.
/** * Sets the {@link ChannelOption#SO_LINGER} option. */
UdtChannelConfig setSoLinger(int soLinger); /** * Sets {@link OptionUDT#System_Receive_Buffer_Size} */ UdtChannelConfig setSystemReceiveBufferSize(int size); /** * Sets {@link OptionUDT#System_Send_Buffer_Size} */ UdtChannelConfig setSystemSendBufferSize(int size); }