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)
RetryLatchopen in interface RetryLatchexpectedEra - the expected era.public void await(long expectedEra,
java.lang.String transactionFamilyName)
RetryLatchawait in interface RetryLatchexpectedEra - the expected era.transactionFamilyName - the name of the transaction (only needed for creating
a usable message in the RetryInterruptedException).public void awaitUninterruptible(long expectedEra)
RetryLatchawaitUninterruptible in interface RetryLatchexpectedEra - the expected era. If the era is different, the await always succeeds.public long awaitNanosUninterruptible(long expectedEra,
long nanosTimeout)
RetryLatchawaitNanosUninterruptible in interface RetryLatchexpectedEra - the expected era.nanosTimeout - the timeout in nanosecondspublic long awaitNanos(long expectedEra,
long nanosTimeout,
java.lang.String transactionFamilyName)
RetryLatchawaitNanos in interface RetryLatchexpectedEra - 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()
RetryLatchgetEra in interface RetryLatchpublic void reset()
RetryLatchreset in interface RetryLatchpublic boolean isOpen()
RetryLatchisOpen in interface RetryLatchpublic java.lang.String toString()
toString in class java.lang.Object