
public class ODistributedResponseManager extends Object
| Modifier and Type | Field and Description |
|---|---|
static int |
ADDITIONAL_TIMEOUT_CLUSTER_SHAPE |
| Constructor and Description |
|---|
ODistributedResponseManager(ODistributedServerManager iManager,
ODistributedRequest iRequest,
Collection<String> expectedResponses,
Set<String> iNodesConcurInQuorum,
int iTotalExpectedResponses,
int iQuorum,
boolean iWaitForLocalNode,
long iSynchTimeout,
long iTotalTimeout,
boolean iGroupResponsesByResult) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
checkNoWinnerCase(List<ODistributedResponse> bestResponsesGroup) |
boolean |
collectResponse(ODistributedResponse response)
Not synchronized, it's called when a message arrives
|
protected boolean |
fixNodesInConflict(List<ODistributedResponse> bestResponsesGroup,
int conflicts) |
protected int |
getBestResponsesGroup()
Returns the biggest response group.
|
protected List<ODistributedResponse> |
getConflictResponses()
Returns all the responses in conflict.
|
String |
getDatabaseName() |
Set<String> |
getExpectedNodes() |
protected int |
getExpectedResponses() |
ODistributedResponse |
getFinalResponse() |
ODistributedRequestId |
getMessageId() |
List<String> |
getMissingNodes()
Returns the list of node names that didn't provide a response.
|
protected int |
getMissingResponses() |
int |
getQuorum() |
protected List<ODistributedResponse> |
getReceivedResponses()
Returns the received response objects.
|
protected int |
getReceivedResponsesCount() |
List<String> |
getRespondingNodes()
Returns the list of node names that provided a response.
|
long |
getSentOn() |
long |
getSynchTimeout() |
protected long |
getTotalTimeout() |
protected boolean |
isMinimumQuorumReached() |
boolean |
isReceivedCurrentNode() |
boolean |
isWaitForLocalNode() |
protected RuntimeException |
manageConflicts() |
void |
notifyWaiters() |
void |
removeServerBecauseUnreachable(String node) |
void |
setLocalResult(String localNodeName,
Object localResult) |
void |
timeout() |
protected boolean |
undoRequest() |
boolean |
waitForSynchronousResponses()
Waits until the minimum responses are collected or timeout occurs.
|
public static final int ADDITIONAL_TIMEOUT_CLUSTER_SHAPE
public ODistributedResponseManager(ODistributedServerManager iManager, ODistributedRequest iRequest, Collection<String> expectedResponses, Set<String> iNodesConcurInQuorum, int iTotalExpectedResponses, int iQuorum, boolean iWaitForLocalNode, long iSynchTimeout, long iTotalTimeout, boolean iGroupResponsesByResult)
public boolean collectResponse(ODistributedResponse response)
response - Received response to collectpublic void notifyWaiters()
public ODistributedRequestId getMessageId()
public long getSentOn()
public void removeServerBecauseUnreachable(String node)
public int getQuorum()
public boolean waitForSynchronousResponses()
throws InterruptedException
InterruptedExceptionpublic boolean isWaitForLocalNode()
public boolean isReceivedCurrentNode()
public ODistributedResponse getFinalResponse()
public String getDatabaseName()
public long getSynchTimeout()
public void timeout()
public List<String> getMissingNodes()
public List<String> getRespondingNodes()
protected List<ODistributedResponse> getConflictResponses()
protected int getExpectedResponses()
protected int getMissingResponses()
protected int getReceivedResponsesCount()
protected long getTotalTimeout()
protected int getBestResponsesGroup()
protected boolean isMinimumQuorumReached()
protected List<ODistributedResponse> getReceivedResponses()
protected RuntimeException manageConflicts()
protected boolean undoRequest()
protected boolean fixNodesInConflict(List<ODistributedResponse> bestResponsesGroup, int conflicts)
protected boolean checkNoWinnerCase(List<ODistributedResponse> bestResponsesGroup)
Copyright © 2009–2016 OrientDB. All rights reserved.