
public class ODistributedResponseManagerImpl extends Object implements ODistributedResponseManager
TODO: - set flags during collecting of response for fast computation on checking for the status
| Modifier and Type | Field and Description |
|---|---|
static int |
ADDITIONAL_TIMEOUT_CLUSTER_SHAPE |
| Constructor and Description |
|---|
ODistributedResponseManagerImpl(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 |
|---|---|
void |
cancel() |
protected boolean |
checkNoWinnerCase(List<ODistributedResponse> bestResponsesGroup) |
boolean |
collectResponse(ODistributedResponse response)
Not synchronized, it's called when a message arrives
|
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.
|
int |
getQuorum() |
protected List<ODistributedResponse> |
getReceivedResponses()
Returns the received response objects.
|
ODistributedRequest |
getRequest() |
List<String> |
getRespondingNodes()
Returns the list of node names that provided a response.
|
long |
getSentOn() |
Set<String> |
getServersWithoutFollowup() |
long |
getSynchTimeout() |
boolean |
isFinished() |
protected boolean |
isMinimumQuorumReached(boolean reachedTimeout) |
boolean |
isReceivedCurrentNode() |
boolean |
isWaitForLocalNode() |
protected RuntimeException |
manageConflicts() |
void |
removeServerBecauseUnreachable(String node) |
boolean |
setLocalResult(String localNodeName,
Object localResult) |
void |
timeout() |
protected boolean |
undoRequest() |
boolean |
waitForSynchronousResponses()
Waits until the minimum responses are collected or timeout occurs.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetGenericFinalResponsepublic static final int ADDITIONAL_TIMEOUT_CLUSTER_SHAPE
public ODistributedResponseManagerImpl(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)
collectResponse in interface ODistributedResponseManagerresponse - Received response to collectpublic ODistributedRequestId getMessageId()
getMessageId in interface ODistributedResponseManagerpublic long getSentOn()
getSentOn in interface ODistributedResponseManagerpublic boolean setLocalResult(String localNodeName, Object localResult)
setLocalResult in interface ODistributedResponseManagerlocalNodeName - localResult - public void removeServerBecauseUnreachable(String node)
removeServerBecauseUnreachable in interface ODistributedResponseManagerpublic int getQuorum()
getQuorum in interface ODistributedResponseManagerpublic boolean waitForSynchronousResponses()
throws InterruptedException
waitForSynchronousResponses in interface ODistributedResponseManagerInterruptedExceptionpublic boolean isWaitForLocalNode()
public boolean isReceivedCurrentNode()
public ODistributedResponse getFinalResponse()
getFinalResponse in interface ODistributedResponseManagerpublic String getDatabaseName()
getDatabaseName in interface ODistributedResponseManagerpublic long getSynchTimeout()
getSynchTimeout in interface ODistributedResponseManagerpublic void timeout()
timeout in interface ODistributedResponseManagerpublic void cancel()
cancel in interface ODistributedResponseManagerpublic List<String> getMissingNodes()
getMissingNodes in interface ODistributedResponseManagerpublic Set<String> getExpectedNodes()
getExpectedNodes in interface ODistributedResponseManagerpublic Set<String> getServersWithoutFollowup()
getServersWithoutFollowup in interface ODistributedResponseManagerpublic List<String> getRespondingNodes()
getRespondingNodes in interface ODistributedResponseManagerpublic ODistributedRequest getRequest()
getRequest in interface ODistributedResponseManagerprotected List<ODistributedResponse> getConflictResponses()
protected int getExpectedResponses()
public boolean isFinished()
isFinished in interface ODistributedResponseManagerprotected int getBestResponsesGroup()
protected boolean isMinimumQuorumReached(boolean reachedTimeout)
protected List<ODistributedResponse> getReceivedResponses()
protected RuntimeException manageConflicts()
protected boolean undoRequest()
protected boolean checkNoWinnerCase(List<ODistributedResponse> bestResponsesGroup)
Copyright © 2009–2025 OrientDB. All rights reserved.