public class UdpManager extends SelectionHandler.SelectorBasedManager
UdpManager is a facade for simple fire-and-forget style UDP operations
UdpManager is obtainable by calling
IO(Udp)
(see IO
and Udp
)
*Warning!* Udp uses {@link java.nio.channels.DatagramChannel#send} to deliver datagrams, and as a consequence if a
security manager has been installed then for each datagram it will verify if the target address and port number are
permitted. If this performance overhead is undesirable use the connection style Udp extension.
== Bind and send ==
To bind and listen to a local address, a {@link akka.io.Udp..Bind} command must be sent to this actor. If the binding
was successful, the sender of the {@link akka.io.Udp.Bind} will be notified with a {@link akka.io.Udp.Bound}
message. The sender of the {@link akka.io.Udp.Bound} message is the Listener actor (an internal actor responsible for
listening to server events). To unbind the port an {@link akka.io.Tcp.Unbind} message must be sent to the Listener actor.
If the bind request is rejected because the Udp system is not able to register more channels (see the nr-of-selectors
and max-channels configuration options in the akka.io.udp section of the configuration) the sender will be notified
with a {@link akka.io.Udp.CommandFailed} message. This message contains the original command for reference.
The handler provided in the {@link akka.io.Udp.Bind} message will receive inbound datagrams to the bound port
wrapped in {@link akka.io.Udp.Received} messages which contain the payload of the datagram and the sender address.
UDP datagrams can be sent by sending {@link akka.io.Udp.Send} messages to the Listener actor. The sender port of the
outbound datagram will be the port to which the Listener is bound.
== Simple send ==
Udp provides a simple method of sending UDP datagrams if no reply is expected. To acquire the Sender actor
a SimpleSend message has to be sent to the manager. The sender of the command will be notified by a SimpleSenderReady
message that the service is available. UDP datagrams can be sent by sending {@link akka.io.Udp.Send} messages to the
sender of SimpleSenderReady. All the datagrams will contain an ephemeral local port as sender and answers will be
discarded.Actor.emptyBehavior$, Actor.ignoringBehavior$
Constructor and Description |
---|
UdpManager(UdpExt udp) |
Modifier and Type | Method and Description |
---|---|
scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> |
receive()
This defines the initial actor behavior, it must return a partial function
with the actor logic.
|
context, selectorPool, self, supervisorStrategy, workerForCommandHandler
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
aroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, postRestart, postStop, preRestart, preStart, sender, unhandled
public UdpManager(UdpExt udp)
public scala.PartialFunction<java.lang.Object,scala.runtime.BoxedUnit> receive()
Actor