Package org.apache.ignite.spi
Class IgniteSpiOperationTimeoutHelper
- java.lang.Object
-
- org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper
-
public class IgniteSpiOperationTimeoutHelper extends Object
Object that incorporates logic that determines a timeout value for the next network related operation and checks whether a failure detection timeout is reached or not. A new instance of the class should be created for every complex network based operations that usually consists of request and response parts.
-
-
Constructor Summary
Constructors Constructor Description IgniteSpiOperationTimeoutHelper(long timeout)
Creates timeout helper with an absolute time threshold.IgniteSpiOperationTimeoutHelper(IgniteSpiAdapter adapter, boolean srvOp)
Constructor.IgniteSpiOperationTimeoutHelper(IgniteSpiAdapter adapter, boolean srvOp, long lastRelatedOperationTime, long absoluteThreshold)
Creates timeout helper based on time of last related operation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static boolean
checkFailureTimeoutReached(Exception e)
Checks whether the givenException
is a timeout.long
nextTimeoutChunk(long dfltTimeout)
Returns a timeout value to use for the next network operation.
-
-
-
Constructor Detail
-
IgniteSpiOperationTimeoutHelper
public IgniteSpiOperationTimeoutHelper(IgniteSpiAdapter adapter, boolean srvOp)
Constructor.- Parameters:
adapter
- SPI adapter.srvOp
-True
if communicates with server node.
-
IgniteSpiOperationTimeoutHelper
public IgniteSpiOperationTimeoutHelper(IgniteSpiAdapter adapter, boolean srvOp, long lastRelatedOperationTime, long absoluteThreshold)
Creates timeout helper based on time of last related operation.- Parameters:
adapter
- SPI adapter.srvOp
-True
if communicates with server node.lastRelatedOperationTime
- Time of last related operation in nanos. Ignored if negative, 0 oradapter.failureDetectionTimeoutEnabled()
is false.absoluteThreshold
- Absolute time threshold (nanos) which must not be reached. Ignored if negative or 0.
-
IgniteSpiOperationTimeoutHelper
public IgniteSpiOperationTimeoutHelper(long timeout)
Creates timeout helper with an absolute time threshold. SetstimeoutEnabled
tofalse
.- Parameters:
timeout
- Timeout in milliseconds.
-
-
Method Detail
-
nextTimeoutChunk
public long nextTimeoutChunk(long dfltTimeout) throws IgniteSpiOperationTimeoutException
Returns a timeout value to use for the next network operation. If failure detection timeout is enabled then the returned value is a portion of time left since the last time this method is called. If the timeout is disabled thendfltTimeout
is returned.- Parameters:
dfltTimeout
- Timeout to use if failure detection timeout is disabled.- Returns:
- Timeout in milliseconds.
- Throws:
IgniteSpiOperationTimeoutException
- If failure detection timeout is reached for an operation that uses thisIgniteSpiOperationTimeoutController
.
-
-