Class representing an acknowledgement with selective negative acknowledgements.
Class representing an acknowledgement with selective negative acknowledgements.
Represents the highest sequence number received.
Set of sequence numbers between the last delivered one and cumulativeAck that has been not yet received.
Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered.
Implements an immutable receive buffer that buffers incoming messages until they can be safely delivered. This buffer works together with a akka.remote.AckedSendBuffer on the sender() side.
Sequence number of the last message that has been delivered.
The highest sequence number received so far.
Buffer of messages that are waiting for delivery
Implements an immutable resend buffer that buffers messages until they have been acknowledged.
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 akka.remote.AckedReceiveBuffer on the receiving end.
Maximum number of messages the buffer is willing to accept. If reached akka.remote.ResendBufferCapacityReachedException is thrown.
Sequence of messages that has not yet been acknowledged.
Sequence of messages that has been explicitly negative acknowledged.
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
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
.
A lock-less thread-safe implementation of akka.remote.FailureDetectorRegistry.
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.
Interface for a registry of Akka failure detectors.
Interface for a registry of Akka failure detectors. New resources are implicitly registered when heartbeat is first called with the resource given as parameter.
type parameter A:
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.
Messages that are to be buffered in akka.remote.AckedSendBuffer or akka.remote.AckedReceiveBuffer has to implement this interface to provide the sequence needed by the buffers.
INTERNAL API
Implementation of 'The Phi Accrual Failure Detector' by Hayashibara et al.
Implementation of 'The Phi Accrual Failure Detector' by Hayashibara et al. as defined in their paper: [http://www.jaist.ac.jp/~defago/files/pdf/IS_RR_2004_010.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.
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.
RemoteTransportException without stack trace.
RemoteTransportException without stack trace.
Implements a 64 bit sequence number with proper wrap-around ordering.
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 akka.actor.Address to be able to distinguish restarted actor system using the same host and port.
Extension provides access to bound addresses.