Package akka.remote.transport.netty
Class UdpAssociationHandle
- java.lang.Object
-
- akka.remote.transport.netty.UdpAssociationHandle
-
- All Implemented Interfaces:
AssociationHandle
public class UdpAssociationHandle extends java.lang.Object implements AssociationHandle
INTERNAL API
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface akka.remote.transport.AssociationHandle
AssociationHandle.ActorHandleEventListener, AssociationHandle.ActorHandleEventListener$, AssociationHandle.Disassociated, AssociationHandle.Disassociated$, AssociationHandle.DisassociateInfo, AssociationHandle.HandleEvent, AssociationHandle.HandleEventListener, AssociationHandle.InboundPayload, AssociationHandle.InboundPayload$, AssociationHandle.Quarantined$, AssociationHandle.Shutdown$, AssociationHandle.Unknown$
-
-
Constructor Summary
Constructors Constructor Description UdpAssociationHandle(Address localAddress, Address remoteAddress, org.jboss.netty.channel.Channel channel, NettyTransport transport)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
disassociate()
Closes the underlying transport link, if needed.Address
localAddress()
Address of the local endpoint.scala.concurrent.Promise<AssociationHandle.HandleEventListener>
readHandlerPromise()
The Promise returned by this call must be completed with anAssociationHandle.HandleEventListener
to register a listener responsible for handling incoming payload.Address
remoteAddress()
Address of the remote endpoint.boolean
write(ByteString payload)
Asynchronously sends the specified payload to the remote endpoint.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface akka.remote.transport.AssociationHandle
disassociate
-
-
-
-
Constructor Detail
-
UdpAssociationHandle
public UdpAssociationHandle(Address localAddress, Address remoteAddress, org.jboss.netty.channel.Channel channel, NettyTransport transport)
-
-
Method Detail
-
disassociate
public void disassociate()
Description copied from interface:AssociationHandle
Closes the underlying transport link, if needed. Some transports might not need an explicit teardown (UDP) and some transports may not support it (hardware connections). Remote endpoint of the channel or connection MAY be notified, but this is not guaranteed. The Transport that provides the handle MUST guarantee that disassociate() could be called arbitrarily many times.- Specified by:
disassociate
in interfaceAssociationHandle
-
localAddress
public Address localAddress()
Description copied from interface:AssociationHandle
Address of the local endpoint.- Specified by:
localAddress
in interfaceAssociationHandle
- Returns:
- Address of the local endpoint.
-
readHandlerPromise
public scala.concurrent.Promise<AssociationHandle.HandleEventListener> readHandlerPromise()
Description copied from interface:AssociationHandle
The Promise returned by this call must be completed with anAssociationHandle.HandleEventListener
to register a listener responsible for handling incoming payload. Until the listener is not registered the transport SHOULD buffer incoming messages.- Specified by:
readHandlerPromise
in interfaceAssociationHandle
- Returns:
- Promise that must be completed with the listener responsible for handling incoming data.
-
remoteAddress
public Address remoteAddress()
Description copied from interface:AssociationHandle
Address of the remote endpoint.- Specified by:
remoteAddress
in interfaceAssociationHandle
- Returns:
- Address of the remote endpoint.
-
write
public boolean write(ByteString payload)
Description copied from interface:AssociationHandle
Asynchronously sends the specified payload to the remote endpoint. This method MUST be thread-safe as it might be called from different threads. This method MUST NOT block.Writes guarantee ordering of messages, but not their reception. The call to write returns with a Boolean indicating if the channel was ready for writes or not. A return value of false indicates that the channel is not yet ready for delivery (e.g.: the write buffer is full) and the sender needs to wait until the channel becomes ready again. Returning false also means that the current write was dropped (this MUST be guaranteed to ensure duplication-free delivery).
- Specified by:
write
in interfaceAssociationHandle
- Parameters:
payload
- The payload to be delivered to the remote endpoint.- Returns:
- Boolean indicating the availability of the association for subsequent writes.
-
-