Class ODatabaseTopologyState
java.lang.Object
com.orientechnologies.orient.distributed.context.coordination.dbs.OWatcher
com.orientechnologies.orient.distributed.context.coordination.dbs.ODatabaseTopologyState
-
Nested Class Summary
Nested classes/interfaces inherited from class com.orientechnologies.orient.distributed.context.coordination.dbs.OWatcher
OWatcher.ONotificationActionData, OWatcher.WaitCond -
Constructor Summary
ConstructorsConstructorDescriptionODatabaseTopologyState(ODatabaseId db, String name, Set<OAddNodeInfo> partecipants, int quorum, ODatabaseStateChangeListener stateListener, ONodeId current) ODatabaseTopologyState(ODatabaseStateChangeListener listener, ODatabaseTopologyStore store, ONodeId current) ODatabaseTopologyState(ODatabaseStateNetwork state, ODatabaseStateChangeListener stateListener, ONodeId current) -
Method Summary
Modifier and TypeMethodDescriptionbooleanacceptSync(ONodeId sender, OSyncId syncId) voidaddMember(List<OAddNodeInfo> nodes, OVersion version, OTransactionIdPromise promise) voidcancelAddMemer(List<OAddNodeInfo> nodes, OTransactionIdPromise promise) voidcancelDrop(OTransactionIdPromise promise, OVersion version) voidcancelMerge(OTransactionIdPromise promise) voidcancelQuorum(OVersion version, OTransactionIdPromise promise) voidcancelRemoveMemer(OTransactionIdPromise promise) voidcancelRole(ONodeId nodeId, OVersion version, OTransactionIdPromise promise) voidcancelSetState(ONodeId nodeId, OVersion version, OTransactionIdPromise promise) canSync(ONodeId sender, OSyncId syncId, OCanSyncAccept canSync) voidcheckTimeoutSync(long timeOutSync) voidcompleteSync(OSyncId syncId, boolean success) voiddrop(OTransactionIdPromise promise, OVersion version) voidexecuteOnOneOnline(ONotificationAction execute) getId()getName()intgetStore()getSyncs()getSyncState(OSyncId syncId) booleanbooleanbooleanbooleanvoidmergeState(ODatabaseStateNetwork state, OTransactionIdPromise promise) newSync()voidnodeDisconnected(ONodeId node) voidpromiseMember(List<OAddNodeInfo> nodes, OVersion version, OTransactionIdPromise promise) promiseRemoveMember(List<ONodeId> nodes, OVersion version, OTransactionIdPromise promise) promiseState(ODatabaseState state, ONodeId nodeId, OVersion version, OTransactionIdPromise promise) voidreceiveState(ODatabaseStateNetwork state, boolean notify) voidremoveMember(List<ONodeId> nodes, OVersion version, OTransactionIdPromise promise) voidrequestNext(OSyncId syncId, boolean close) voidsetQuorum(int newQuorum, OVersion version, OTransactionIdPromise promise) voidsetRole(ONodeId node, ONodeRole role, OVersion version, OTransactionIdPromise promise) voidsetState(ONodeId node, ODatabaseState state, OVersion version, OTransactionIdPromise promise) booleanshouldSink(ONodeId nodeID) startSend(ONodeId from, OSyncId syncId, OCanSyncAccept mode) validateDrop(OTransactionIdPromise promise, OVersion version) validateMerge(OTransactionIdPromise promise, ODatabaseStateNetwork stateDb) validateMergeNode(OTransactionIdPromise promise, ODatabaseStateNetwork stateDb) validateRole(ONodeId node, OVersion version, OTransactionIdPromise promise) validateSetQurum(int newQuorum, OVersion version, OTransactionIdPromise promise) booleanwaitOnlineAll(Optional<Long> timeout) booleanwaitOnlineOne(Optional<Long> timeout) booleanwaitOnlineQuorum(Optional<Long> timeout) booleanwaitSelfOnline(Optional<Long> timeout) Methods inherited from class com.orientechnologies.orient.distributed.context.coordination.dbs.OWatcher
executeOn, notifyChange, waitFor
-
Constructor Details
-
ODatabaseTopologyState
public ODatabaseTopologyState(ODatabaseId db, String name, Set<OAddNodeInfo> partecipants, int quorum, ODatabaseStateChangeListener stateListener, ONodeId current) -
ODatabaseTopologyState
public ODatabaseTopologyState(ODatabaseStateNetwork state, ODatabaseStateChangeListener stateListener, ONodeId current) -
ODatabaseTopologyState
public ODatabaseTopologyState(ODatabaseStateChangeListener listener, ODatabaseTopologyStore store, ONodeId current)
-
-
Method Details
-
setState
public void setState(ONodeId node, ODatabaseState state, OVersion version, OTransactionIdPromise promise) -
getId
-
getName
-
promiseState
public Optional<OAcceptResult> promiseState(ODatabaseState state, ONodeId nodeId, OVersion version, OTransactionIdPromise promise) -
getVersion
-
getState
-
cancelSetState
-
waitOnlineQuorum
- Throws:
InterruptedException
-
waitOnlineAll
- Throws:
InterruptedException
-
isQuorumOnline
public boolean isQuorumOnline() -
isAllOnline
public boolean isAllOnline() -
waitOnlineOne
- Throws:
InterruptedException
-
waitSelfOnline
- Throws:
InterruptedException
-
executeOnOneOnline
-
getOnlineNodes
-
newSync
-
canSync
-
startSend
-
acceptSync
-
requestNext
-
isMain
-
getNetworkState
-
receiveState
-
mergeState
-
getRole
-
promiseMember
public Optional<OAcceptResult> promiseMember(List<OAddNodeInfo> nodes, OVersion version, OTransactionIdPromise promise) -
promiseRemoveMember
public Optional<OAcceptResult> promiseRemoveMember(List<ONodeId> nodes, OVersion version, OTransactionIdPromise promise) -
removeMember
-
cancelRemoveMemer
-
addMember
-
cancelAddMemer
-
shouldSink
-
completeSync
-
getStore
-
getQuorum
public int getQuorum() -
validateDrop
-
drop
-
cancelDrop
-
getSyncState
-
getSyncs
-
nodeDisconnected
-
validateMerge
public Optional<OAcceptResult> validateMerge(OTransactionIdPromise promise, ODatabaseStateNetwork stateDb) -
validateMergeNode
public Optional<OAcceptResult> validateMergeNode(OTransactionIdPromise promise, ODatabaseStateNetwork stateDb) -
cancelMerge
-
nextVersion
-
validateRole
public Optional<OAcceptResult> validateRole(ONodeId node, OVersion version, OTransactionIdPromise promise) -
setRole
-
cancelRole
-
notifyAllNodesStates
public void notifyAllNodesStates() -
validateSetQurum
public Optional<OAcceptResult> validateSetQurum(int newQuorum, OVersion version, OTransactionIdPromise promise) -
setQuorum
-
cancelQuorum
-
getMembers
-
checkTimeoutSync
public void checkTimeoutSync(long timeOutSync) -
isSynching
public boolean isSynching()
-