object UdpConnected extends ExtensionId[UdpConnectedExt] with ExtensionIdProvider
UDP Extension for Akka’s IO layer.
This extension implements the connectionless UDP protocol with
calling connect
on the underlying sockets, i.e. with restricting
from whom data can be received. For “unconnected” UDP mode see Udp.
For a full description of the design and philosophy behind this IO implementation please refer to the Akka online documentation.
The Java API for generating UDP commands is available at UdpConnectedMessage.
- Source
- UdpConnected.scala
- Alphabetic
- By Inheritance
- UdpConnected
- ExtensionIdProvider
- ExtensionId
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Command extends HasFailureMessage with Message
The common type of all commands supported by the UDP implementation.
- final case class CommandFailed(cmd: Command) extends Event with Product with Serializable
When a command fails it will be replied to with this message type, wrapping the failing command object.
- final case class Connect(handler: ActorRef, remoteAddress: InetSocketAddress, localAddress: Option[InetSocketAddress] = None, options: Traversable[SocketOption] = Nil) extends Command with Product with Serializable
Send this message to the UdpExt#manager in order to bind to a local port (optionally with the chosen
localAddress
) and create a UDP socket which is restricted to sending to and receiving from the givenremoteAddress
.Send this message to the UdpExt#manager in order to bind to a local port (optionally with the chosen
localAddress
) and create a UDP socket which is restricted to sending to and receiving from the givenremoteAddress
. All received datagrams will be sent to the designatedhandler
actor.- Annotations
- @nowarn()
- sealed trait Connected extends Event
This message is sent by the connection actor to the actor which sent the Connect message when the UDP socket has been bound to the local and remote addresses given.
- sealed trait Disconnected extends Event
This message is sent by the connection actor to the actor which sent the
Disconnect
message when the UDP socket has been closed. - trait Event extends Message
The common type of all events emitted by the UDP implementation.
- sealed trait Message extends AnyRef
- case class NoAck(token: Any) extends Event with Product with Serializable
Each Send can optionally request a positive acknowledgment to be sent to the commanding actor.
Each Send can optionally request a positive acknowledgment to be sent to the commanding actor. If such notification is not desired the Send#ack must be set to an instance of this class. The token contained within can be used to recognize which write failed when receiving a CommandFailed message.
- final case class Received(data: ByteString) extends Event with Product with Serializable
When a connection actor receives a datagram from its socket it will send it to the handler designated in the Udp.Bind message using this message type.
- final case class Send(payload: ByteString, ack: Any) extends Command with Product with Serializable
This message is understood by the connection actors to send data to their designated destination.
This message is understood by the connection actors to send data to their designated destination. The connection actor will respond with CommandFailed if the send could not be enqueued to the O/S kernel because the send buffer was full. If the given
ack
is not of type NoAck the connection actor will reply with the given object as soon as the datagram has been successfully enqueued to the O/S kernel.
Value Members
- def apply(system: ClassicActorSystemProvider): UdpConnectedExt
Returns an instance of the extension identified by this ExtensionId instance.
Returns an instance of the extension identified by this ExtensionId instance.
- Definition Classes
- ExtensionId
- def apply(system: ActorSystem): UdpConnectedExt
Returns an instance of the extension identified by this ExtensionId instance.
Returns an instance of the extension identified by this ExtensionId instance.
- Definition Classes
- ExtensionId
- def createExtension(system: ExtendedActorSystem): UdpConnectedExt
Is used by Akka to instantiate the Extension identified by this ExtensionId, internal use only.
Is used by Akka to instantiate the Extension identified by this ExtensionId, internal use only.
- Definition Classes
- UdpConnected → ExtensionId
- final def equals(other: Any): Boolean
- Definition Classes
- ExtensionId → AnyRef → Any
- def get(system: ClassicActorSystemProvider): UdpConnectedExt
Returns an instance of the extension identified by this ExtensionId instance.
Returns an instance of the extension identified by this ExtensionId instance. Java API For extensions written in Scala that are to be used from Java also, this method should be overridden to get correct return type.
override def get(system: ClassicActorSystemProvider): TheExtension = super.get(system)
- Definition Classes
- UdpConnected → ExtensionId
- def get(system: ActorSystem): UdpConnectedExt
Java API: retrieve the UdpConnected extension for the given system.
Java API: retrieve the UdpConnected extension for the given system.
- Definition Classes
- UdpConnected → ExtensionId
- final def hashCode(): Int
- Definition Classes
- ExtensionId → AnyRef → Any
- def lookup: UdpConnected
Returns the canonical ExtensionId for this Extension
Returns the canonical ExtensionId for this Extension
- Definition Classes
- UdpConnected → ExtensionIdProvider
- case object Connected extends Connected with Product with Serializable
- case object Disconnect extends Command with Product with Serializable
Send this message to a connection actor (which had previously sent the Connected message) in order to close the socket.
Send this message to a connection actor (which had previously sent the Connected message) in order to close the socket. The connection actor will reply with a Disconnected message.
- case object Disconnected extends Disconnected with Product with Serializable
- object NoAck extends NoAck
Default NoAck instance which is used when no acknowledgment information is explicitly provided.
Default NoAck instance which is used when no acknowledgment information is explicitly provided. Its “token” is
null
. - case object ResumeReading extends Command with Product with Serializable
This message must be sent to the listener actor to re-enable reading from the socket after a
SuspendReading
command. - object Send extends Serializable
- case object SuspendReading extends Command with Product with Serializable
Send this message to a listener actor (which sent a Udp.Bound message) to have it stop reading datagrams from the network.
Send this message to a listener actor (which sent a Udp.Bound message) to have it stop reading datagrams from the network. If the O/S kernel’s receive buffer runs full then subsequent datagrams will be silently discarded. Re-enable reading from the socket using the
ResumeReading
command.