org.apache.pekko.remote

Members list

Type members

Classlikes

Extension that holds a uid that is assigned as a random Long or Int depending on which version of remoting that is used.

Extension that holds a uid that is assigned as a random Long or Int depending on which version of remoting that is used.

The uid is intended to be used together with an pekko.actor.Address to be able to distinguish restarted actor system using the same host and port.

Attributes

Companion
class
Source
AddressUidExtension.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Source
AddressUidExtension.scala
Supertypes
trait Extension
class Object
trait Matchable
class Any

Extension provides access to bound addresses.

Extension provides access to bound addresses.

Attributes

Companion
class
Source
BoundAddressesExtension.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Source
BoundAddressesExtension.scala
Supertypes
trait Extension
class Object
trait Matchable
class Any
class DeadlineFailureDetector(val acceptableHeartbeatPause: FiniteDuration, val heartbeatInterval: FiniteDuration)(implicit clock: Clock) extends FailureDetector

Implementation of failure detector using an absolute timeout of missing heartbeats to trigger unavailability.

Implementation of failure detector using an absolute timeout of missing heartbeats to trigger unavailability.

isAvailable will return false if there is no heartbeat within the duration heartbeatInterval + acceptableHeartbeatPause.

Value parameters

acceptableHeartbeatPause

Duration corresponding to number of potentially lost/delayed heartbeats that will be accepted before considering it to be an anomaly.

clock

The clock, returning current time in milliseconds, but can be faked for testing purposes. It is only used for measuring intervals (duration).

heartbeatInterval

Expected heartbeat interval

Attributes

Source
DeadlineFailureDetector.scala
Supertypes
class Object
trait Matchable
class Any
class DefaultFailureDetectorRegistry[A](detectorFactory: () => FailureDetector) extends FailureDetectorRegistry[A]

A lock-less thread-safe implementation of org.apache.pekko.remote.FailureDetectorRegistry.

A lock-less thread-safe implementation of org.apache.pekko.remote.FailureDetectorRegistry.

Value parameters

detectorFactory

By-name parameter that returns the failure detector instance to be used by a newly registered resource

Attributes

Source
DefaultFailureDetectorRegistry.scala
Supertypes
class Object
trait Matchable
class Any

A failure detector must be a thread-safe mutable construct that registers heartbeat events of a resource and is able to decide the availability of that monitored resource.

A failure detector must be a thread-safe mutable construct that registers heartbeat events of a resource and is able to decide the availability of that monitored resource.

Attributes

Companion
object
Source
FailureDetector.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Source
FailureDetector.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Interface for a registry of Pekko failure detectors. New resources are implicitly registered when heartbeat is first called with the resource given as parameter.

Interface for a registry of Pekko failure detectors. New resources are implicitly registered when heartbeat is first called with the resource given as parameter.

type parameter A:

  • The type of the key that identifies a resource to be monitored by a failure detector

Attributes

Source
FailureDetectorRegistry.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source
FailureDetector.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final class NotAllowedClassRemoteDeploymentAttemptException(illegal: Class[_], allowedClassNames: Set[String]) extends RuntimeException

INTERNAL API

INTERNAL API

Attributes

Source
RemoteDaemon.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class PhiAccrualFailureDetector(val threshold: Double, val maxSampleSize: Int, val minStdDeviation: FiniteDuration, val acceptableHeartbeatPause: FiniteDuration, val firstHeartbeatEstimate: FiniteDuration, eventStream: Option[EventStream])(implicit clock: Clock) extends FailureDetector, FailureDetectorWithAddress

Implementation of 'The Phi Accrual Failure Detector' by Hayashibara et al. as defined in their paper: [https://oneofus.la/have-emacs-will-hack/files/HDY04.pdf]

Implementation of 'The Phi Accrual Failure Detector' by Hayashibara et al. as defined in their paper: [https://oneofus.la/have-emacs-will-hack/files/HDY04.pdf]

The suspicion level of failure is given by a value called φ (phi). The basic idea of the φ failure detector is to express the value of φ on a scale that is dynamically adjusted to reflect current network conditions. A configurable threshold is used to decide if φ is considered to be a failure.

The value of φ is calculated as:

φ = -log10(1 - F(timeSinceLastHeartbeat)

where F is the cumulative distribution function of a normal distribution with mean and standard deviation estimated from historical heartbeat inter-arrival times.

Value parameters

acceptableHeartbeatPause

Duration corresponding to number of potentially lost/delayed heartbeats that will be accepted before considering it to be an anomaly. This margin is important to be able to survive sudden, occasional, pauses in heartbeat arrivals, due to for example garbage collect or network drop.

clock

The clock, returning current time in milliseconds, but can be faked for testing purposes. It is only used for measuring intervals (duration).

firstHeartbeatEstimate

Bootstrap the stats with heartbeats that corresponds to to this duration, with a with rather high standard deviation (since environment is unknown in the beginning)

maxSampleSize

Number of samples to use for calculation of mean and standard deviation of inter-arrival times.

minStdDeviation

Minimum standard deviation to use for the normal distribution used when calculating phi. Too low standard deviation might result in too much sensitivity for sudden, but normal, deviations in heartbeat inter arrival times.

threshold

A low threshold is prone to generate many wrong suspicions but ensures a quick detection in the event of a real crash. Conversely, a high threshold generates fewer mistakes but needs more time to detect actual crashes

Attributes

Source
PhiAccrualFailureDetector.scala
Supertypes
class Object
trait Matchable
class Any

This is public with the purpose to document the used markers and properties of log events. No guarantee that it will remain binary compatible, but the marker names and properties are considered public API and will not be changed without notice.

This is public with the purpose to document the used markers and properties of log events. No guarantee that it will remain binary compatible, but the marker names and properties are considered public API and will not be changed without notice.

Attributes

Source
RemoteLogMarker.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class RemoteScope(node: Address) extends Scope

Attributes

Source
RemoteDeployer.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Scope
class Object
trait Matchable
class Any
Show all
final class RemoteSettings(val config: Config)

Attributes

Source
RemoteSettings.scala
Supertypes
class Object
trait Matchable
class Any
class RemoteTransportException(message: String, cause: Throwable) extends PekkoException

RemoteTransportException represents a general failure within a RemoteTransport, such as inability to start, wrong configuration etc.

RemoteTransportException represents a general failure within a RemoteTransport, such as inability to start, wrong configuration etc.

Attributes

Source
RemoteTransport.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Known subtypes

RemoteTransportException without stack trace.

RemoteTransportException without stack trace.

Attributes

Source
RemoteTransport.scala
Supertypes
trait NoStackTrace
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
final case class RemotingListenEvent(listenAddresses: Set[Address]) extends RemotingLifecycleEvent

Attributes

Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
final case class UniqueAddress(address: Address, uid: Long) extends Ordered[UniqueAddress]

Attributes

Source
UniqueAddress.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Comparable[UniqueAddress]
class Object
trait Matchable
class Any
Show all

Deprecated classlikes

final case class Ack(cumulativeAck: SeqNo, nacks: Set[SeqNo])

Class representing an acknowledgement with selective negative acknowledgements.

Class representing an acknowledgement with selective negative acknowledgements.

Value parameters

cumulativeAck

Represents the highest sequence number received.

nacks

Set of sequence numbers between the last delivered one and cumulativeAck that has been not yet received.

Attributes

Deprecated
true
Source
AckedDelivery.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class AckedReceiveBuffer[T <: HasSequenceNumber](lastDelivered: SeqNo, cumulativeAck: SeqNo, buf: SortedSet[T])(implicit seqOrdering: Ordering[T])

Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered. This buffer works together with a pekko.remote.AckedSendBuffer on the sender() side.

Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered. This buffer works together with a pekko.remote.AckedSendBuffer on the sender() side.

Value parameters

buf

Buffer of messages that are waiting for delivery

cumulativeAck

The highest sequence number received so far.

lastDelivered

Sequence number of the last message that has been delivered.

Attributes

Deprecated
true
Source
AckedDelivery.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class AckedSendBuffer[T <: HasSequenceNumber](capacity: Int, nonAcked: IndexedSeq[T], nacked: IndexedSeq[T], maxSeq: SeqNo)

Implements an immutable resend buffer that buffers messages until they have been acknowledged. Properly removes messages when an ack is received. This buffer works together with pekko.remote.AckedReceiveBuffer on the receiving end.

Implements an immutable resend buffer that buffers messages until they have been acknowledged. Properly removes messages when an ack is received. This buffer works together with pekko.remote.AckedReceiveBuffer on the receiving end.

Value parameters

capacity

Maximum number of messages the buffer is willing to accept. If reached pekko.remote.ResendBufferCapacityReachedException is thrown.

maxSeq

The maximum sequence number that has been stored in this buffer. Messages having lower sequence number will be not stored but rejected with java.lang.IllegalArgumentException

nacked

Sequence of messages that has been explicitly negative acknowledged.

nonAcked

Sequence of messages that has not yet been acknowledged.

Attributes

Deprecated
true
Source
AckedDelivery.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class AssociatedEvent(localAddress: Address, remoteAddress: Address, inbound: Boolean) extends AssociationEvent

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
final case class AssociationErrorEvent(cause: Throwable, localAddress: Address, remoteAddress: Address, inbound: Boolean, logLevel: LogLevel) extends AssociationEvent

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
final case class DisassociatedEvent(localAddress: Address, remoteAddress: Address, inbound: Boolean) extends AssociationEvent

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
final case class GracefulShutdownQuarantinedEvent(uniqueAddress: UniqueAddress, reason: String) extends RemotingLifecycleEvent

The uniqueAddress was quarantined but it was due to normal shutdown or cluster leaving/exiting.

The uniqueAddress was quarantined but it was due to normal shutdown or cluster leaving/exiting.

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Companion
trait
Deprecated
true
Source
AckedDelivery.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Messages that are to be buffered in pekko.remote.AckedSendBuffer or pekko.remote.AckedReceiveBuffer has to implement this interface to provide the sequence needed by the buffers.

Messages that are to be buffered in pekko.remote.AckedSendBuffer or pekko.remote.AckedReceiveBuffer has to implement this interface to provide the sequence needed by the buffers.

Attributes

Companion
object
Deprecated
true
Source
AckedDelivery.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
final case class QuarantinedEvent(address: Address, longUid: Long) extends RemotingLifecycleEvent

Attributes

Companion
object
Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
final case class RemotingErrorEvent(cause: Throwable) extends RemotingLifecycleEvent

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
sealed trait RemotingLifecycleEvent extends Serializable

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Deprecated
true
Source
AckedDelivery.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Deprecated
true
Source
AckedDelivery.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object SeqNo

Attributes

Companion
class
Deprecated
true
Source
AckedDelivery.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
SeqNo.type
final case class SeqNo(rawValue: Long) extends Ordered[SeqNo]

Implements a 64 bit sequence number with proper wrap-around ordering.

Implements a 64 bit sequence number with proper wrap-around ordering.

Attributes

Companion
object
Deprecated
true
Source
AckedDelivery.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Ordered[SeqNo]
trait Comparable[SeqNo]
class Object
trait Matchable
class Any
Show all
final case class ThisActorSystemQuarantinedEvent(localAddress: Address, remoteAddress: Address) extends RemotingLifecycleEvent

Attributes

Deprecated
true
Source
RemotingLifecycleEvent.scala
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all