diff --git a/example/src/main/java/io/netty/example/sctp/NioSctpEchoClient.java b/example/src/main/java/io/netty/example/sctp/NioSctpEchoClient.java index c94005953f..80bf904c39 100644 --- a/example/src/main/java/io/netty/example/sctp/NioSctpEchoClient.java +++ b/example/src/main/java/io/netty/example/sctp/NioSctpEchoClient.java @@ -18,8 +18,8 @@ package io.netty.example.sctp; import io.netty.bootstrap.Bootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; import io.netty.channel.sctp.SctpChannel; +import io.netty.channel.sctp.SctpChannelOption; import io.netty.channel.socket.nio.NioEventLoopGroup; import io.netty.channel.sctp.nio.NioSctpChannel; import io.netty.handler.logging.LogLevel; @@ -53,7 +53,7 @@ public class NioSctpEchoClient { try { b.group(new NioEventLoopGroup()) .channel(NioSctpChannel.class) - .option(ChannelOption.SCTP_NODELAY, true) + .option(SctpChannelOption.SCTP_NODELAY, true) .remoteAddress(new InetSocketAddress(host, port)) .handler(new ChannelInitializer() { @Override diff --git a/example/src/main/java/io/netty/example/sctp/NioSctpEchoServer.java b/example/src/main/java/io/netty/example/sctp/NioSctpEchoServer.java index 93a68076af..0218d0264d 100644 --- a/example/src/main/java/io/netty/example/sctp/NioSctpEchoServer.java +++ b/example/src/main/java/io/netty/example/sctp/NioSctpEchoServer.java @@ -20,6 +20,7 @@ import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.sctp.SctpChannel; +import io.netty.channel.sctp.SctpChannelOption; import io.netty.channel.socket.nio.NioEventLoopGroup; import io.netty.channel.sctp.nio.NioSctpServerChannel; import io.netty.handler.logging.LogLevel; @@ -46,7 +47,7 @@ public class NioSctpEchoServer { .channel(NioSctpServerChannel.class) .option(ChannelOption.SO_BACKLOG, 100) .localAddress(new InetSocketAddress(port)) - .childOption(ChannelOption.SCTP_NODELAY, true) + .childOption(SctpChannelOption.SCTP_NODELAY, true) .handler(new LoggingHandler(LogLevel.INFO)) .childHandler(new ChannelInitializer() { @Override diff --git a/example/src/main/java/io/netty/example/sctp/OioSctpEchoClient.java b/example/src/main/java/io/netty/example/sctp/OioSctpEchoClient.java index 5c0b7f01b4..ee0281054e 100644 --- a/example/src/main/java/io/netty/example/sctp/OioSctpEchoClient.java +++ b/example/src/main/java/io/netty/example/sctp/OioSctpEchoClient.java @@ -18,8 +18,8 @@ package io.netty.example.sctp; import io.netty.bootstrap.Bootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; import io.netty.channel.sctp.SctpChannel; +import io.netty.channel.sctp.SctpChannelOption; import io.netty.channel.socket.oio.OioEventLoopGroup; import io.netty.channel.sctp.oio.OioSctpChannel; import io.netty.handler.logging.LogLevel; @@ -53,7 +53,7 @@ public class OioSctpEchoClient { try { b.group(new OioEventLoopGroup()) .channel(OioSctpChannel.class) - .option(ChannelOption.SCTP_NODELAY, true) + .option(SctpChannelOption.SCTP_NODELAY, true) .remoteAddress(new InetSocketAddress(host, port)) .handler(new ChannelInitializer() { @Override diff --git a/example/src/main/java/io/netty/example/sctp/OioSctpEchoServer.java b/example/src/main/java/io/netty/example/sctp/OioSctpEchoServer.java index d52e948615..5566cd1a5b 100644 --- a/example/src/main/java/io/netty/example/sctp/OioSctpEchoServer.java +++ b/example/src/main/java/io/netty/example/sctp/OioSctpEchoServer.java @@ -20,6 +20,7 @@ import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.sctp.SctpChannel; +import io.netty.channel.sctp.SctpChannelOption; import io.netty.channel.socket.oio.OioEventLoopGroup; import io.netty.channel.sctp.oio.OioSctpServerChannel; import io.netty.handler.logging.LogLevel; @@ -46,7 +47,7 @@ public class OioSctpEchoServer { .channel(OioSctpServerChannel.class) .option(ChannelOption.SO_BACKLOG, 100) .localAddress(new InetSocketAddress(port)) - .childOption(ChannelOption.SCTP_NODELAY, true) + .childOption(SctpChannelOption.SCTP_NODELAY, true) .handler(new LoggingHandler(LogLevel.INFO)) .childHandler(new ChannelInitializer() { @Override diff --git a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannel.java b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannel.java index ef0f1752b0..a742447fb6 100644 --- a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannel.java +++ b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannel.java @@ -30,7 +30,7 @@ import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.nio.channels.NotYetConnectedException; -import static io.netty.channel.rxtx.RxtxChannelOptions.*; +import static io.netty.channel.rxtx.RxtxChannelOption.*; /** * A channel to a serial device using the RXTX library. diff --git a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelConfig.java b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelConfig.java index 318cec2592..f9989eca79 100644 --- a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelConfig.java +++ b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelConfig.java @@ -21,7 +21,7 @@ import io.netty.channel.DefaultChannelConfig; import java.util.Map; -import static io.netty.channel.rxtx.RxtxChannelOptions.*; +import static io.netty.channel.rxtx.RxtxChannelOption.*; /** * A configuration class for RXTX device connections. diff --git a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOptions.java b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java similarity index 89% rename from transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOptions.java rename to transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java index 8ec66fdb13..69cde11845 100644 --- a/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOptions.java +++ b/transport-rxtx/src/main/java/io/netty/channel/rxtx/RxtxChannelOption.java @@ -21,9 +21,9 @@ import io.netty.channel.rxtx.RxtxChannelConfig.Paritybit; import io.netty.channel.rxtx.RxtxChannelConfig.Stopbits; /** - * Options for configuring a serial port connection + * Option for configuring a serial port connection */ -public final class RxtxChannelOptions { +public final class RxtxChannelOption extends ChannelOption { public static final ChannelOption BAUD_RATE = new ChannelOption("BAUD_RATE"); @@ -42,6 +42,7 @@ public final class RxtxChannelOptions { public static final ChannelOption PARITY_BIT = new ChannelOption("PARITY_BIT"); - private RxtxChannelOptions() { + public RxtxChannelOption(String name) { + super(name); } } diff --git a/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java b/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java index e96bd2ac9c..2fec0f2331 100644 --- a/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java +++ b/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpChannelConfig.java @@ -15,6 +15,7 @@ */ package io.netty.channel.sctp; + import com.sun.nio.sctp.SctpChannel; import com.sun.nio.sctp.SctpStandardSocketOptions; import io.netty.buffer.ByteBufAllocator; @@ -25,7 +26,7 @@ import io.netty.channel.DefaultChannelConfig; import java.io.IOException; import java.util.Map; -import static io.netty.channel.ChannelOption.*; +import static io.netty.channel.sctp.SctpChannelOption.*; /** * The default {@link SctpChannelConfig} implementation for SCTP. diff --git a/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java b/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java index 2cb3e2c897..b9b1c6a63a 100644 --- a/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java +++ b/transport-sctp/src/main/java/io/netty/channel/sctp/DefaultSctpServerChannelConfig.java @@ -51,7 +51,7 @@ public class DefaultSctpServerChannelConfig extends DefaultChannelConfig impleme public Map, Object> getOptions() { return getOptions( super.getOptions(), - ChannelOption.SO_RCVBUF, ChannelOption.SO_SNDBUF, ChannelOption.SCTP_INIT_MAXSTREAMS); + ChannelOption.SO_RCVBUF, ChannelOption.SO_SNDBUF, SctpChannelOption.SCTP_INIT_MAXSTREAMS); } @SuppressWarnings("unchecked") @@ -74,7 +74,7 @@ public class DefaultSctpServerChannelConfig extends DefaultChannelConfig impleme setReceiveBufferSize((Integer) value); } else if (option == ChannelOption.SO_SNDBUF) { setSendBufferSize((Integer) value); - } else if (option == ChannelOption.SCTP_INIT_MAXSTREAMS) { + } else if (option == SCTP_INIT_MAXSTREAMS) { setInitMaxStreams((InitMaxStreams) value); } else { return super.setOption(option, value); diff --git a/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java b/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java new file mode 100644 index 0000000000..f9c985223b --- /dev/null +++ b/transport-sctp/src/main/java/io/netty/channel/sctp/SctpChannelOption.java @@ -0,0 +1,60 @@ +/* + * Copyright 2013 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 io.netty.channel.ChannelOption; + +import java.net.SocketAddress; +import java.util.List; + +/** + * Option for configuring the SCTP transport + */ +public class SctpChannelOption extends ChannelOption { + public static final ChannelOption SCTP_DISABLE_FRAGMENTS = + new ChannelOption("SCTP_DISABLE_FRAGMENTS"); + public static final ChannelOption SCTP_EXPLICIT_COMPLETE = + new ChannelOption("SCTP_EXPLICIT_COMPLETE"); + public static final ChannelOption SCTP_FRAGMENT_INTERLEAVE = + new ChannelOption("SCTP_FRAGMENT_INTERLEAVE"); + public static final ChannelOption> SCTP_INIT_MAXSTREAMS = + new ChannelOption>("SCTP_INIT_MAXSTREAMS") { + @Override + public void validate(List value) { + super.validate(value); + if (value.size() != 2) { + throw new IllegalArgumentException("value must be a List of 2 Integers: " + value); + } + if (value.get(0) == null) { + throw new NullPointerException("value[0]"); + } + if (value.get(1) == null) { + throw new NullPointerException("value[1]"); + } + } + }; + + public static final ChannelOption SCTP_NODELAY = + new ChannelOption("SCTP_NODELAY"); + public static final ChannelOption SCTP_PRIMARY_ADDR = + new ChannelOption("SCTP_PRIMARY_ADDR"); + public static final ChannelOption SCTP_SET_PEER_PRIMARY_ADDR = + new ChannelOption("SCTP_SET_PEER_PRIMARY_ADDR"); + + public SctpChannelOption(String name) { + super(name); + } +} diff --git a/transport-udt/src/main/java/io/netty/channel/udt/DefaultUdtChannelConfig.java b/transport-udt/src/main/java/io/netty/channel/udt/DefaultUdtChannelConfig.java index ad5f85ceb5..681a876415 100644 --- a/transport-udt/src/main/java/io/netty/channel/udt/DefaultUdtChannelConfig.java +++ b/transport-udt/src/main/java/io/netty/channel/udt/DefaultUdtChannelConfig.java @@ -24,7 +24,7 @@ import io.netty.channel.DefaultChannelConfig; import java.io.IOException; import java.util.Map; -import static io.netty.channel.ChannelOption.*; +import static io.netty.channel.udt.UdtChannelOption.*; /** * The default {@link UdtChannelConfig} implementation. diff --git a/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelConfig.java b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelConfig.java index 2e2b4e76b4..8b28bd60e2 100644 --- a/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelConfig.java +++ b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelConfig.java @@ -53,11 +53,11 @@ import com.barchart.udt.nio.KindUDT; * * * {@code "protocolReceiveBuferSize"} - * {@link #setProtocolBufferSize(int)} + * {@link #setProtocolReceiveBufferSize(int)} * * * {@code "systemReceiveBufferSize"} - * {@link #setSystemBufferSize(int)} + * {@link #setProtocolReceiveBufferSize(int)} * * *

@@ -68,30 +68,6 @@ import com.barchart.udt.nio.KindUDT; */ public interface UdtChannelConfig extends ChannelConfig { - /** - * See {@link OptionUDT#Protocol_Receive_Buffer_Size}. - */ - ChannelOption PROTOCOL_RECEIVE_BUFFER_SIZE = new ChannelOption( - "PROTOCOL_RECEIVE_BUFFER_SIZE"); - - /** - * See {@link OptionUDT#Protocol_Send_Buffer_Size}. - */ - ChannelOption PROTOCOL_SEND_BUFFER_SIZE = new ChannelOption( - "PROTOCOL_SEND_BUFFER_SIZE"); - - /** - * See {@link OptionUDT#System_Receive_Buffer_Size}. - */ - ChannelOption SYSTEM_RECEIVE_BUFFER_SIZE = new ChannelOption( - "SYSTEM_RECEIVE_BUFFER_SIZE"); - - /** - * See {@link OptionUDT#System_Send_Buffer_Size}. - */ - ChannelOption SYSTEM_SEND_BUFFER_SIZE = new ChannelOption( - "SYSTEM_SEND_BUFFER_SIZE"); - /** * Gets {@link KindUDT#ACCEPTOR} channel backlog. */ diff --git a/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java new file mode 100644 index 0000000000..3a4bdf291c --- /dev/null +++ b/transport-udt/src/main/java/io/netty/channel/udt/UdtChannelOption.java @@ -0,0 +1,53 @@ +/* + * Copyright 2013 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 io.netty.channel.ChannelOption; + +/** + * Options for the UDT transport + */ +public class UdtChannelOption extends ChannelOption { + + /** + * See {@link OptionUDT#Protocol_Receive_Buffer_Size}. + */ + public static final ChannelOption PROTOCOL_RECEIVE_BUFFER_SIZE = new ChannelOption( + "PROTOCOL_RECEIVE_BUFFER_SIZE"); + + /** + * See {@link OptionUDT#Protocol_Send_Buffer_Size}. + */ + public static final ChannelOption PROTOCOL_SEND_BUFFER_SIZE = new ChannelOption( + "PROTOCOL_SEND_BUFFER_SIZE"); + + /** + * See {@link OptionUDT#System_Receive_Buffer_Size}. + */ + public static final ChannelOption SYSTEM_RECEIVE_BUFFER_SIZE = new ChannelOption( + "SYSTEM_RECEIVE_BUFFER_SIZE"); + + /** + * See {@link OptionUDT#System_Send_Buffer_Size}. + */ + public static final ChannelOption SYSTEM_SEND_BUFFER_SIZE = new ChannelOption( + "SYSTEM_SEND_BUFFER_SIZE"); + + public UdtChannelOption(String name) { + super(name); + } +} diff --git a/transport/src/main/java/io/netty/channel/ChannelOption.java b/transport/src/main/java/io/netty/channel/ChannelOption.java index 8ac4adb79f..369f07df2a 100644 --- a/transport/src/main/java/io/netty/channel/ChannelOption.java +++ b/transport/src/main/java/io/netty/channel/ChannelOption.java @@ -20,8 +20,6 @@ import io.netty.util.UniqueName; import java.net.InetAddress; import java.net.NetworkInterface; -import java.net.SocketAddress; -import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -79,35 +77,6 @@ public class ChannelOption extends UniqueName { public static final ChannelOption TCP_NODELAY = new ChannelOption("TCP_NODELAY"); - public static final ChannelOption SCTP_DISABLE_FRAGMENTS = - new ChannelOption("SCTP_DISABLE_FRAGMENTS"); - public static final ChannelOption SCTP_EXPLICIT_COMPLETE = - new ChannelOption("SCTP_EXPLICIT_COMPLETE"); - public static final ChannelOption SCTP_FRAGMENT_INTERLEAVE = - new ChannelOption("SCTP_FRAGMENT_INTERLEAVE"); - public static final ChannelOption> SCTP_INIT_MAXSTREAMS = - new ChannelOption>("SCTP_INIT_MAXSTREAMS") { - @Override - public void validate(List value) { - super.validate(value); - if (value.size() != 2) { - throw new IllegalArgumentException("value must be a List of 2 Integers: " + value); - } - if (value.get(0) == null) { - throw new NullPointerException("value[0]"); - } - if (value.get(1) == null) { - throw new NullPointerException("value[1]"); - } - } - }; - public static final ChannelOption SCTP_NODELAY = - new ChannelOption("SCTP_NODELAY"); - public static final ChannelOption SCTP_PRIMARY_ADDR = - new ChannelOption("SCTP_PRIMARY_ADDR"); - public static final ChannelOption SCTP_SET_PEER_PRIMARY_ADDR = - new ChannelOption("SCTP_SET_PEER_PRIMARY_ADDR"); - public static final ChannelOption AIO_READ_TIMEOUT = new ChannelOption("AIO_READ_TIMEOUT"); public static final ChannelOption AIO_WRITE_TIMEOUT =