File: STABLE.txt

package info (click to toggle)
libjgroups-java 2.12.2.Final-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,712 kB
  • sloc: java: 109,098; xml: 9,423; sh: 149; makefile: 2
file content (52 lines) | stat: -rw-r--r-- 1,182 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

STABLE
======

Author: Bela Ban
Date: May 29 2007

Goal: to purge messages delivered by all members


Vars
----
- digest: used to reconcile all STABLE messages, re-initialized on STABILITY message (with digest from NAKACK)
- votes: list of members from whom we have received STABLE messages. Reset on STABILITY message

Initialization
--------------
- Set digest from NAKACK

When the timer expires or max_bytes have been received
------------------------------------------------------
- Send STABLE message

Sending of STABLE message
-------------------------
- Get the current digest (from NAKACK) using the GET_DIGEST_STABLE event
- Send the STABLE message to group

On reception of STABLE message from P
-------------------------------------
- If P already present in votes: discard
- Else:
  - Update digest
  - Add P to votes
  - If votes from all members:
    - Send STABILITY message

On reception of STABILITY message
---------------------------------
- Pass STABLE event down to NAKACK to purge messages on which every member agreed that they have been delivered
- Set digest from NAKACK
- Clear votes


View change
-----------
- Set digest from NAKACK
- Clear votes