|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ostore.agree.RingState
The state associated with a given ring (public key). Logically, this class is a subclass of ThresholdByzantine. It's in a separate file only to make the programming easier. (I often edit the two simultaneously.)
Field Summary | |
---|---|
SortedMap |
agreement_states
Maps sequence numbers (Longs) to their AgreementStates. |
Set |
already_seen_digests
|
long |
current_view
The current view. |
Map |
digest_to_seq
Maps the digests (SecureHashes) of ongoing requests to their sequence numbers (Longs) in the current view. |
Map |
guid_to_member
Maps the guids of the machines in this ring (SecureHashes) to their member numbers (Integers). |
long |
highest_active_seq
The largest sequence number of all of the agreements seen so far in this view. |
KeyShare |
key_share
Our share of the private key used to create signatures. |
long |
last_dispatched_req
The sequence number of the last request that was sent to the inner ring to be executed. |
long |
lowest_active_seq
The sequence number of the agreement with the lowest sequence number which is still not in the CERTIFIED_STATE. |
int |
max_fail
The maximum number of failures that can occur under the Byzantine assumption. |
int |
member_count
The number of members in this ring. |
int |
member_num
My own member number in this ring. |
SecureHash[] |
members_guids
Maps member numbers to their machine guids. |
QSPublicKey[] |
members_pkeys
The public keys of each of the members in the ring. |
LinkedList |
pending_agreements
Agreements that we have not yet started due to the number of active requests being equal to the window size. |
SecureHash |
ring_id
The hash of the public key used to verify signatures from this ring. |
QSPublicKey |
ring_pkey
The public key used to verify signatures from this ring. |
int |
window_size
The number of active agreements we allow to be in some state other than CERTIFIED_STATE. |
Constructor Summary | |
---|---|
RingState(SecureHash ring_id,
long initial_view,
long initial_seq,
QSPublicKey ring_public_key,
QSPublicKey[] member_public_keys,
KeyShare private_key_share,
QSPublicKey this_machine_pkey,
int window_size)
Construct a new RingState. |
Method Summary | |
---|---|
long |
active_seqs()
The number of agreements which have been initiated but not yet reached the CERTIFIED_STATE. |
AgreementState |
alloc_agreement_state(long seq)
Allocate a new AgreementState object. |
void |
free_agreement_state(AgreementState as)
Deallocate an AgreementState object. |
int |
general_num()
The member number of the general in this view. |
boolean |
general()
Are we the general in this view? |
boolean |
in_window(long seq)
Is the given sequence number allowable, given the currently active agreements? |
long |
window_top()
The highest allowable sequence number, given the currently active agreements. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public SecureHash ring_id
public Map guid_to_member
public int member_count
public int member_num
public int max_fail
public long current_view
public int window_size
public SecureHash[] members_guids
public QSPublicKey ring_pkey
public QSPublicKey[] members_pkeys
public KeyShare key_share
public Map digest_to_seq
public Set already_seen_digests
public long highest_active_seq
public long lowest_active_seq
public long last_dispatched_req
public SortedMap agreement_states
public LinkedList pending_agreements
Constructor Detail |
public RingState(SecureHash ring_id, long initial_view, long initial_seq, QSPublicKey ring_public_key, QSPublicKey[] member_public_keys, KeyShare private_key_share, QSPublicKey this_machine_pkey, int window_size)
Method Detail |
public final boolean general()
public final int general_num()
public final long active_seqs()
public final long window_top()
public final boolean in_window(long seq)
public AgreementState alloc_agreement_state(long seq)
public void free_agreement_state(AgreementState as)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |