diff --git a/src/main/java/org/jboss/netty/channel/socket/DatagramChannelConfig.java b/src/main/java/org/jboss/netty/channel/socket/DatagramChannelConfig.java index f012614f58..4c6f4baad4 100644 --- a/src/main/java/org/jboss/netty/channel/socket/DatagramChannelConfig.java +++ b/src/main/java/org/jboss/netty/channel/socket/DatagramChannelConfig.java @@ -27,6 +27,7 @@ import java.net.InetAddress; import java.net.NetworkInterface; import org.jboss.netty.channel.ChannelConfig; +import org.jboss.netty.channel.FixedReceiveBufferSizePredictor; import org.jboss.netty.channel.ReceiveBufferSizePredictor; /** @@ -112,24 +113,76 @@ public interface DatagramChannelConfig extends ChannelConfig { */ void setReuseAddress(boolean reuseAddress); + /** + * Gets the {@code SO_BROADCAST} option. + */ boolean isBroadcast(); + /** + * Sets the {@code SO_BROADCAST} option. + */ void setBroadcast(boolean broadcast); + /** + * Gets the setting for local loopback of multicast datagrams. + * + * @return {@code true} if and only if the loopback mode has been disabled + */ boolean isLoopbackModeDisabled(); + /** + * Sets the setting for local loopback of multicast datagrams. + * + * @param loopbackModeDisabled + * {@code true} if and only if the loopback mode has been disabled + */ void setLoopbackModeDisabled(boolean loopbackModeDisabled); + /** + * Gets the default time-to-live for multicast packets sent out on the + * socket. + */ int getTimeToLive(); + /** + * Sets the default time-to-live for multicast packets sent out on the + * {@link DatagramChannel} in order to control the scope of the multicasts. + */ void setTimeToLive(int ttl); + /** + * Gets the address of the network interface used for multicast packets. + */ InetAddress getInterface(); + + /** + * Sets the address of the network interface used for multicast packets. + */ void setInterface(InetAddress interfaceAddress); + /** + * Gets the network interface for outgoing multicast datagrams sent on + * the {@link DatagramChannel}. + */ NetworkInterface getNetworkInterface(); + + /** + * Sets the network interface for outgoing multicast datagrams sent on + * the {@link DatagramChannel}. + */ void setNetworkInterface(NetworkInterface networkInterface); + /** + * Returns the {@link ReceiveBufferSizePredictor} which predicts the + * number of readable bytes in the socket receive buffer. The default + * predictor is {@link FixedReceiveBufferSizePredictor}(768). + */ ReceiveBufferSizePredictor getReceiveBufferSizePredictor(); + + /** + * Sets the {@link ReceiveBufferSizePredictor} which predicts the + * number of readable bytes in the socket receive buffer. The default + * predictor is {@link FixedReceiveBufferSizePredictor}(768). + */ void setReceiveBufferSizePredictor(ReceiveBufferSizePredictor predictor); } diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramChannelConfig.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramChannelConfig.java index 268a7d70db..54235f69a1 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramChannelConfig.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioDatagramChannelConfig.java @@ -44,6 +44,10 @@ import org.jboss.netty.channel.socket.DatagramChannelConfig; * * NameAssociated setter method * + * {@code "writeBufferHighWaterMark"}{@link #setWriteBufferHighWaterMark(int)} + * + * {@code "writeBufferLowWaterMark"}{@link #setWriteBufferLowWaterMark(int)} + * * {@code "writeSpinCount"}{@link #setWriteSpinCount(int)} * * {@code "receiveBufferSizePredictor"}{@link #setReceiveBufferSizePredictor(ReceiveBufferSizePredictor)} diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/NioSocketChannelConfig.java b/src/main/java/org/jboss/netty/channel/socket/nio/NioSocketChannelConfig.java index 9eec85a34f..af227df98e 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/NioSocketChannelConfig.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/NioSocketChannelConfig.java @@ -44,6 +44,10 @@ import org.jboss.netty.channel.socket.SocketChannelConfig; * * NameAssociated setter method * + * {@code "writeBufferHighWaterMark"}{@link #setWriteBufferHighWaterMark(int)} + * + * {@code "writeBufferLowWaterMark"}{@link #setWriteBufferLowWaterMark(int)} + * * {@code "writeSpinCount"}{@link #setWriteSpinCount(int)} * * {@code "receiveBufferSizePredictor"}{@link #setReceiveBufferSizePredictor(ReceiveBufferSizePredictor)}