Package org.drasyl.handler.remote
Class UdpServer
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
org.drasyl.handler.remote.UdpServer
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
Binds to an udp port, sends outgoing messages via udp, and sends received udp packets to the
Channel
.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Signals that theUdpServer
was unable to bind to given address.static class
Signals that theUdpServer
is bound toUdpServer.UdpServerBound.getBindAddress()
.Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable
-
Field Summary
-
Constructor Summary
ConstructorDescriptionUdpServer
(io.netty.bootstrap.Bootstrap bootstrap, io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress) UdpServer
(io.netty.bootstrap.Bootstrap bootstrap, io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) UdpServer
(io.netty.channel.EventLoopGroup group, int bindPort) Create UDP server that will bind to host0.0.0.0
and portbindPort
.UdpServer
(io.netty.channel.EventLoopGroup group, InetAddress bindHost, int bindPort) UdpServer
(io.netty.channel.EventLoopGroup group, InetAddress bindHost, int bindPort, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) UdpServer
(io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress) UdpServer
(io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) -
Method Summary
Modifier and TypeMethodDescriptionvoid
channelActive
(io.netty.channel.ChannelHandlerContext ctx) void
channelInactive
(io.netty.channel.ChannelHandlerContext ctx) void
flush
(io.netty.channel.ChannelHandlerContext ctx) void
handlerAdded
(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
channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, 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
handlerRemoved
-
Field Details
-
IP_TOS
public static final int IP_TOS
-
-
Constructor Details
-
UdpServer
public UdpServer(io.netty.bootstrap.Bootstrap bootstrap, io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) -
UdpServer
public UdpServer(io.netty.bootstrap.Bootstrap bootstrap, io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress) -
UdpServer
public UdpServer(io.netty.channel.EventLoopGroup group, InetSocketAddress bindAddress, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) - Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindAddress
- the address the UDP server will bind to
-
UdpServer
- Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindAddress
- the address the UDP server will bind to
-
UdpServer
public UdpServer(io.netty.channel.EventLoopGroup group, InetAddress bindHost, int bindPort, Function<io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelInitializer<io.netty.channel.socket.DatagramChannel>> channelInitializerSupplier) - Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindHost
- the host the UDP server will bind tobindPort
- the port the UDP server will bind to
-
UdpServer
- Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindHost
- the host the UDP server will bind tobindPort
- the port the UDP server will bind to
-
UdpServer
- Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindHost
- the host the UDP server will bind tobindPort
- the port the UDP server will bind to
-
UdpServer
public UdpServer(io.netty.channel.EventLoopGroup group, int bindPort) Create UDP server that will bind to host0.0.0.0
and portbindPort
.- Parameters:
group
- theEventLoopGroup
the underlying udp server should run onbindPort
- the port the UDP server will bind to
-
-
Method Details
-
handlerAdded
public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
handlerAdded
in interfaceio.netty.channel.ChannelHandler
- Overrides:
handlerAdded
in classio.netty.channel.ChannelHandlerAdapter
-
channelActive
public void channelActive(io.netty.channel.ChannelHandlerContext ctx) throws UdpServer.UdpServerBindFailedException - Specified by:
channelActive
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
channelActive
in classio.netty.channel.ChannelInboundHandlerAdapter
- Throws:
UdpServer.UdpServerBindFailedException
-
channelInactive
public void channelInactive(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
channelInactive
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
channelInactive
in classio.netty.channel.ChannelInboundHandlerAdapter
-
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
-