AssociationHandle

org.apache.pekko.remote.transport.AssociationHandle
See theAssociationHandle companion object

An SPI layer for abstracting over logical links (associations) created by a pekko.remote.transport.Transport. Handles are responsible for providing an API for sending and receiving from the underlying channel.

To register a listener for processing incoming payload data, the listener must be registered by completing the Promise returned by pekko.remote.transport.AssociationHandle#readHandlerPromise. Incoming data is not processed until this registration takes place.

Attributes

Companion
object
Deprecated
true
Source
Transport.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

Address of the local endpoint.

Address of the local endpoint.

Attributes

Returns

Address of the local endpoint.

Source
Transport.scala

The Promise returned by this call must be completed with an pekko.remote.transport.AssociationHandle.HandleEventListener to register a listener responsible for handling incoming payload. Until the listener is not registered the transport SHOULD buffer incoming messages.

The Promise returned by this call must be completed with an pekko.remote.transport.AssociationHandle.HandleEventListener to register a listener responsible for handling incoming payload. Until the listener is not registered the transport SHOULD buffer incoming messages.

Attributes

Returns

Promise that must be completed with the listener responsible for handling incoming data.

Source
Transport.scala

Address of the remote endpoint.

Address of the remote endpoint.

Attributes

Returns

Address of the remote endpoint.

Source
Transport.scala
def write(payload: ByteString): Boolean

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.

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).

Value parameters

payload

The payload to be delivered to the remote endpoint.

Attributes

Returns

Boolean indicating the availability of the association for subsequent writes.

Source
Transport.scala

Concrete methods

def disassociate(reason: String, log: LoggingAdapter): Unit

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.

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.

Attributes

Source
Transport.scala

Deprecated methods

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.

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.

Attributes

Deprecated
[Since version Akka 2.5.3] Use method that states reasons to make sure disassociation reasons are logged.
Source
Transport.scala