public final class DefaultRetryLatch extends java.lang.Object implements RetryLatch
RetryLatch
implementation based on the intrinsic lock.Constructor and Description |
---|
DefaultRetryLatch() |
Modifier and Type | Method and Description |
---|---|
void |
await(long expectedEra,
java.lang.String transactionFamilyName)
Awaits for this Latch to open.
|
long |
awaitNanos(long expectedEra,
long nanosTimeout,
java.lang.String transactionFamilyName)
Awaits for this latch to open with a timeout.
|
long |
awaitNanosUninterruptible(long expectedEra,
long nanosTimeout)
Awaits for this latch to open with a timeout.
|
void |
awaitUninterruptible(long expectedEra)
Awaits for this latch to open.
|
long |
getEra()
Gets the current era.
|
boolean |
isOpen()
Checks if the Latch is open.
|
void |
open(long expectedEra)
Opens this latch only if the expectedEra is the same.
|
void |
reset()
Prepares the Latch for pooling.
|
java.lang.String |
toString() |
public void open(long expectedEra)
RetryLatch
open
in interface RetryLatch
expectedEra
- the expected era.public void await(long expectedEra, java.lang.String transactionFamilyName)
RetryLatch
await
in interface RetryLatch
expectedEra
- the expected era.transactionFamilyName
- the name of the transaction (only needed for creating
a usable message in the RetryInterruptedException).public void awaitUninterruptible(long expectedEra)
RetryLatch
awaitUninterruptible
in interface RetryLatch
expectedEra
- the expected era. If the era is different, the await always succeeds.public long awaitNanosUninterruptible(long expectedEra, long nanosTimeout)
RetryLatch
awaitNanosUninterruptible
in interface RetryLatch
expectedEra
- the expected era.nanosTimeout
- the timeout in nanosecondspublic long awaitNanos(long expectedEra, long nanosTimeout, java.lang.String transactionFamilyName)
RetryLatch
awaitNanos
in interface RetryLatch
expectedEra
- the expected erananosTimeout
- the timeout in nanoseconds. Can safely be called with a zero or negative timeouttransactionFamilyName
- the name of the transaction (only needed for creating
a usable message in the RetryInterruptedException).public long getEra()
RetryLatch
getEra
in interface RetryLatch
public void reset()
RetryLatch
reset
in interface RetryLatch
public boolean isOpen()
RetryLatch
isOpen
in interface RetryLatch
public java.lang.String toString()
toString
in class java.lang.Object