public final class DefaultRetryLatch extends Object implements RetryLatch
RetryLatch
implementation based on the intrinsic lock.Constructor and Description |
---|
DefaultRetryLatch() |
Modifier and Type | Method and Description |
---|---|
void |
await(long expectedEra,
String transactionFamilyName)
Awaits for this Latch to open.
|
long |
awaitNanos(long expectedEra,
long nanosTimeout,
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.
|
String |
toString() |
public void open(long expectedEra)
RetryLatch
open
in interface RetryLatch
expectedEra
- the expected era.public void await(long expectedEra, 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, 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
Copyright © 2020. All rights reserved.