diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollChannelOption.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollChannelOption.java index 2f1e47d896..2ad607abbd 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollChannelOption.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollChannelOption.java @@ -32,7 +32,11 @@ public final class EpollChannelOption extends UnixChannelOption { public static final ChannelOption IP_FREEBIND = valueOf("IP_FREEBIND"); public static final ChannelOption IP_TRANSPARENT = valueOf("IP_TRANSPARENT"); public static final ChannelOption IP_RECVORIGDSTADDR = valueOf("IP_RECVORIGDSTADDR"); - public static final ChannelOption TCP_FASTOPEN = valueOf(EpollChannelOption.class, "TCP_FASTOPEN"); + /** + * @deprecated Use {@link ChannelOption#TCP_FASTOPEN} instead. + */ + @Deprecated + public static final ChannelOption TCP_FASTOPEN = ChannelOption.TCP_FASTOPEN; /** * @deprecated Use {@link ChannelOption#TCP_FASTOPEN_CONNECT} instead. diff --git a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java index 556ba426ed..43ba1f0262 100644 --- a/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java +++ b/transport-native-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java @@ -30,6 +30,7 @@ import java.util.Map; import static io.netty.channel.ChannelOption.SO_BACKLOG; import static io.netty.channel.ChannelOption.SO_RCVBUF; import static io.netty.channel.ChannelOption.SO_REUSEADDR; +import static io.netty.channel.ChannelOption.TCP_FASTOPEN; import static io.netty.util.internal.ObjectUtil.checkPositiveOrZero; public class EpollServerChannelConfig extends EpollChannelConfig implements ServerSocketChannelConfig { @@ -42,7 +43,7 @@ public class EpollServerChannelConfig extends EpollChannelConfig implements Serv @Override public Map, Object> getOptions() { - return getOptions(super.getOptions(), SO_RCVBUF, SO_REUSEADDR, SO_BACKLOG, EpollChannelOption.TCP_FASTOPEN); + return getOptions(super.getOptions(), SO_RCVBUF, SO_REUSEADDR, SO_BACKLOG, TCP_FASTOPEN); } @SuppressWarnings("unchecked") @@ -57,7 +58,7 @@ public class EpollServerChannelConfig extends EpollChannelConfig implements Serv if (option == SO_BACKLOG) { return (T) Integer.valueOf(getBacklog()); } - if (option == EpollChannelOption.TCP_FASTOPEN) { + if (option == TCP_FASTOPEN) { return (T) Integer.valueOf(getTcpFastopen()); } return super.getOption(option); @@ -73,7 +74,7 @@ public class EpollServerChannelConfig extends EpollChannelConfig implements Serv setReuseAddress((Boolean) value); } else if (option == SO_BACKLOG) { setBacklog((Integer) value); - } else if (option == EpollChannelOption.TCP_FASTOPEN) { + } else if (option == TCP_FASTOPEN) { setTcpFastopen((Integer) value); } else { return super.setOption(option, value); diff --git a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketConnectTest.java b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketConnectTest.java index eb6fa2121a..459de4ef77 100644 --- a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketConnectTest.java +++ b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketConnectTest.java @@ -32,7 +32,7 @@ public class EpollSocketConnectTest extends SocketConnectTest { @Override protected void enableTcpFastOpen(ServerBootstrap sb, Bootstrap cb) { - sb.option(EpollChannelOption.TCP_FASTOPEN, 5); + sb.option(ChannelOption.TCP_FASTOPEN, 5); cb.option(ChannelOption.TCP_FASTOPEN_CONNECT, true); } } diff --git a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java index 9ff7fff700..f54934eb20 100644 --- a/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java +++ b/transport-native-epoll/src/test/java/io/netty/channel/epoll/EpollSocketTestPermutation.java @@ -79,7 +79,7 @@ class EpollSocketTestPermutation extends SocketTestPermutation { toReturn.add(() -> { ServerBootstrap serverBootstrap = new ServerBootstrap().group(EPOLL_BOSS_GROUP, EPOLL_WORKER_GROUP) .channel(EpollServerSocketChannel.class); - serverBootstrap.option(EpollChannelOption.TCP_FASTOPEN, 5); + serverBootstrap.option(ChannelOption.TCP_FASTOPEN, 5); return serverBootstrap; }); } diff --git a/transport/src/main/java/io/netty/channel/ChannelOption.java b/transport/src/main/java/io/netty/channel/ChannelOption.java index b01805a3dc..ac4e1f56c7 100644 --- a/transport/src/main/java/io/netty/channel/ChannelOption.java +++ b/transport/src/main/java/io/netty/channel/ChannelOption.java @@ -128,8 +128,16 @@ public class ChannelOption extends AbstractConstant> { public static final ChannelOption IP_MULTICAST_LOOP_DISABLED = valueOf("IP_MULTICAST_LOOP_DISABLED"); public static final ChannelOption TCP_NODELAY = valueOf("TCP_NODELAY"); + /** + * Client-side TCP FastOpen. Sending data with the initial TCP handshake. + */ public static final ChannelOption TCP_FASTOPEN_CONNECT = valueOf("TCP_FASTOPEN_CONNECT"); + /** + * Server-side TCP FastOpen. Configures the maximum number of outstanding (waiting to be accepted) TFO connections. + */ + public static final ChannelOption TCP_FASTOPEN = valueOf(ChannelOption.class, "TCP_FASTOPEN"); + @Deprecated public static final ChannelOption DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION = valueOf("DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION");