com.bigdata.quorum.QuorumStateChangeEventEnum Maven / Gradle / Ivy
/**
Copyright (C) SYSTAP, LLC DBA Blazegraph 2006-2016. All rights reserved.
Contact:
SYSTAP, LLC DBA Blazegraph
2501 Calvert ST NW #106
Washington, DC 20008
[email protected]
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.bigdata.quorum;
import java.util.UUID;
/**
* Enumeration of event types for the events described by the
* {@link QuorumStateChangeListener} interface.
*
* @author Bryan Thompson
*/
public enum QuorumStateChangeEventEnum {
/**
* This service was added as a quorum member.
*
* @see QuorumStateChangeListener#memberAdd()
*/
MEMBER_ADD,
/**
* This service was removed as a quorum member.
*
* @see QuorumStateChangeListener#memberRemove()
*/
MEMBER_REMOVE,
/**
* This service was added as a pipeline member.
*
* @see QuorumStateChangeListener#pipelineAdd()
*/
PIPELINE_ADD,
/**
* This service was removed as a pipeline member.
*
* @see QuorumStateChangeListener#pipelineRemove()
*/
PIPELINE_REMOVE,
/**
* Event generated when a service already in the pipeline becomes the first
* service in the write pipeline because all previous services in the
* pipeline order have been removed from the pipeline.
*
* @see QuorumStateChangeListener#pipelineElectedLeader()
*/
PIPELINE_ELECTED_LEADER,
/**
* Event generated when the downstream service in the write pipeline has
* changed. Services always enter at the end of the write pipeline, but may
* be removed at any position in the write pipeline.
*
* @see QuorumStateChangeListener#pipelineChange(UUID, UUID)
*/
PIPELINE_CHANGE,
/**
* Event generated when the upstream service in the write pipeline has been
* removed. This hook provides an opportunity for the service to close out
* its connection with the old upstream service and to prepare to establish
* a new connection with the new downstream service.
*
* @see QuorumStateChangeListener#pipelineUpstreamChange()
*/
PIPELINE_UPSTREAM_CHANGE,
/**
* Event generated when a consensus has been achieved among
* (k+1)/2
services concerning a shared lastCommitTime (really,
* this is not a consensus but a simple majority). This message is sent to
* each member service regardless of whether or not they participated in the
* consensus.
*
* @see QuorumStateChangeListener#consensus(long)
*/
CONSENSUS,
/**
* Event generated when the consensus is lost. Services do not withdraw
* their cast votes until a quorum breaks and a new consensus needs to be
* established.
*
* @see QuorumStateChangeListener#lostConsensus()
*/
LOST_CONSENSUS,
/**
* Event generated when this service joins the quorum.
*
* @see QuorumStateChangeListener#serviceJoin()
*/
SERVICE_JOIN,
/**
* Event generated when this service leaves the quorum.
*
* @see QuorumStateChangeListener#serviceLeave()
*/
SERVICE_LEAVE,
/**
* Event generated when a quorum meets.
*
* @see QuorumStateChangeListener#quorumMeet(long, UUID)
*/
QUORUM_MEET,
/**
* Event generated when a quorum breaks.
*
* @see QuorumStateChangeListener#quorumBreak()
*/
QUORUM_BREAK;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy