Class GridNioRecoveryDescriptor
- java.lang.Object
-
- org.apache.ignite.internal.util.nio.GridNioRecoveryDescriptor
-
public class GridNioRecoveryDescriptor extends Object
Recovery information for single node.
-
-
Field Summary
Fields Modifier and Type Field Description static intDFLT_NIO_RECOVERY_DESCRIPTOR_RESERVATION_TIMEOUT
-
Constructor Summary
Constructors Constructor Description GridNioRecoveryDescriptor(boolean pairedConnections, int queueLimit, ClusterNode node, IgniteLogger log)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longacked()voidackReceived(long rcvCnt)booleanadd(SessionWriteRequest req)booleanconnected()LonghandshakeIndex()longincrementConnectCount()longlastAcknowledged()voidlastAcknowledged(long lastAck)Deque<SessionWriteRequest>messagesRequests()ClusterNodenode()booleannodeAlive(@Nullable ClusterNode node)voidonConnected()voidonHandshake(long rcvCnt)booleanonNodeLeft()Node left callback.longonReceived()Increments received messages counter.booleanpairedConnections()intqueueLimit()longreceived()voidrelease()booleanreserve()intreserveCount()booleanreserved()longsent()GridNioSessionsession()voidsession(GridNioSession ses)StringtoString()booleantryReserve(long id, IgniteInClosure<Boolean> c)
-
-
-
Constructor Detail
-
GridNioRecoveryDescriptor
public GridNioRecoveryDescriptor(boolean pairedConnections, int queueLimit, ClusterNode node, IgniteLogger log)- Parameters:
pairedConnections-Trueif in/out connections pair is used for communication with node.queueLimit- Maximum size of unacknowledged messages queue.node- Node.log- Logger.
-
-
Method Detail
-
pairedConnections
public boolean pairedConnections()
- Returns:
Trueif in/out connections pair is used for communication with node.
-
incrementConnectCount
public long incrementConnectCount()
- Returns:
- Connect count.
-
node
public ClusterNode node()
- Returns:
- Node.
-
onReceived
public long onReceived()
Increments received messages counter.- Returns:
- Number of received messages.
-
received
public long received()
- Returns:
- Number of received messages.
-
sent
public long sent()
- Returns:
- Number of sent messages.
-
lastAcknowledged
public void lastAcknowledged(long lastAck)
- Parameters:
lastAck- Last acknowledged message.
-
lastAcknowledged
public long lastAcknowledged()
- Returns:
- Last acknowledged message.
-
queueLimit
public int queueLimit()
- Returns:
- Maximum size of unacknowledged messages queue.
-
add
public boolean add(SessionWriteRequest req)
- Parameters:
req- Write request.- Returns:
Falseif queue limit is exceeded.
-
ackReceived
public void ackReceived(long rcvCnt)
- Parameters:
rcvCnt- Number of messages received by remote node.
-
acked
public long acked()
- Returns:
- Last acked message by remote node.
-
onNodeLeft
public boolean onNodeLeft()
Node left callback.- Returns:
Falseif descriptor is reserved.
-
messagesRequests
public Deque<SessionWriteRequest> messagesRequests()
- Returns:
- Requests for unacknowledged messages.
-
nodeAlive
public boolean nodeAlive(@Nullable @Nullable ClusterNode node)- Parameters:
node- Node.- Returns:
Trueif node is not null and has the same order as initial remote node.
-
reserve
public boolean reserve() throws InterruptedException- Returns:
Trueif reserved.- Throws:
InterruptedException- If interrupted.
-
onHandshake
public void onHandshake(long rcvCnt)
- Parameters:
rcvCnt- Number of messages received by remote node.
-
onConnected
public void onConnected()
-
connected
public boolean connected()
- Returns:
- Connected flag.
-
reserved
public boolean reserved()
- Returns:
- Reserved flag.
-
handshakeIndex
public Long handshakeIndex()
- Returns:
- Current handshake index.
-
release
public void release()
-
tryReserve
public boolean tryReserve(long id, IgniteInClosure<Boolean> c)- Parameters:
id- Handshake ID.c- Closure to run on reserve.- Returns:
Trueif reserved.
-
reserveCount
public int reserveCount()
- Returns:
- Number of descriptor reservations.
-
session
public GridNioSession session()
- Returns:
- Current session.
-
session
public void session(GridNioSession ses)
- Parameters:
ses- Session.
-
-