Package org.drasyl.handler.remote.tcp
Class TcpServer
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
org.drasyl.handler.remote.tcp.TcpServer
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
Starts a TCP-based server, allowing clients in very restrictive networks that do not allow
UDP-based traffic to connect to this super peer via TCP.
This server is only used if the node act as a super peer.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Signals that theTcpServer
was unable to bind to given address.static class
Signals that theTcpServer
is bound toTcpServer.TcpServerBound.getBindAddress()
.Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable
-
Constructor Summary
ConstructorDescriptionTcpServer
(Function<DrasylServerChannel, io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> channelInitializerSupplier) -
Method Summary
Modifier and TypeMethodDescriptionvoid
channelActive
(io.netty.channel.ChannelHandlerContext ctx) protected static DrasylServerChannelConfig
config
(io.netty.channel.ChannelHandlerContext ctx) void
flush
(io.netty.channel.ChannelHandlerContext ctx) void
write
(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, read
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Constructor Details
-
TcpServer
public TcpServer(Function<DrasylServerChannel, io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> channelInitializerSupplier) -
TcpServer
public TcpServer()
-
-
Method Details
-
channelActive
public void channelActive(io.netty.channel.ChannelHandlerContext ctx) throws TcpServer.TcpServerBindFailedException - Specified by:
channelActive
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
channelActive
in classio.netty.channel.ChannelInboundHandlerAdapter
- Throws:
TcpServer.TcpServerBindFailedException
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) - Specified by:
write
in interfaceio.netty.channel.ChannelOutboundHandler
- Overrides:
write
in classio.netty.channel.ChannelDuplexHandler
-
flush
- Specified by:
flush
in interfaceio.netty.channel.ChannelOutboundHandler
- Overrides:
flush
in classio.netty.channel.ChannelDuplexHandler
- Throws:
Exception
-
config
-