Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jgroups.blocks
Class TwoPhaseVotingAdapter

    java.lang.Object
      org.jgroups.blocks.TwoPhaseVotingAdapter

    public class TwoPhaseVotingAdapter

extends java.lang.Object

This adapter introduces simple two-phase voting on a specified decree. All nodes in the group receive a decree in "prepare" phase where they expres their opinion on the decree. If all nodes voted positively on decree, next phase "commit" fixes changes that were made in "prepare" phase, otherwise changes are canceled in "abort" phase.

Author:
  Roman Rokytskyy (rrokytskyy@acm.org), Robert Schaffar-Taurok (robert@fusion.at)

Nested Class Summary
`static class` | `TwoPhaseVotingAdapter.TwoPhaseVoteWrapper`
`static class` | `TwoPhaseVotingAdapter.TwoPhaseWrapper` Wrapper of the decree to voting decree.

Constructor Summary
`TwoPhaseVotingAdapter(VotingAdapter voteChannel)` Creats an instance of the class.

Method Summary
`void` | `addListener(TwoPhaseVotingListener listener)` Wraps actual listener with the VoteChannelListener and adds to the voteChannel
`VotingAdapter` | `getVoteChannel()`
`void` | `removeListener(TwoPhaseVotingListener listener)` Removes the listener from the voteChannel
`boolean` | `vote(java.lang.Object decree, long timeout)` Performs the two-phase voting on the decree.
`boolean` | `vote(java.lang.Object decree, long timeout, VoteResponseProcessor voteResponseProcessor)` Performs the two-phase voting on the decree.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TwoPhaseVotingAdapter

    public TwoPhaseVotingAdapter(VotingAdapter voteChannel)

  Creats an instance of the class.

  Parameters:
    `voteChannel` - the channel that will be used for voting.

Method Detail

### addListener

    public void addListener(TwoPhaseVotingListener listener)

  Wraps actual listener with the VoteChannelListener and adds to the voteChannel

### removeListener

    public void removeListener(TwoPhaseVotingListener listener)

  Removes the listener from the voteChannel

### vote

    public boolean vote(java.lang.Object decree,
                        long timeout)
                 throws ChannelException

  Performs the two-phase voting on the decree. After the voting each group member remains in the same state as others.

  Throws:
    `ChannelException`

### vote

    public boolean vote(java.lang.Object decree,
                        long timeout,
                        VoteResponseProcessor voteResponseProcessor)
                 throws ChannelException

  Performs the two-phase voting on the decree. After the voting each group member remains in the same state as others.

  Throws:
    `ChannelException`

### getVoteChannel

    public VotingAdapter getVoteChannel()

  Returns:
    Returns the voteChannel.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.