org.jgroups.protocols.pbcast
public class STABLE extends Protocol
Works as follows: periodically we mcast our highest seqnos (seen for each member) to the group. A stability vector, which maintains the highest seqno for each member and initially contains no data, is updated when such a message is received. The entry for a member P is computed set to min(entry[P], digest[P]). When messages from all members have been received, a stability message is mcast, which causes all members to send a STABLE event up the stack (triggering garbage collection in the NAKACK layer).
The stable task now terminates after max_num_gossips if no messages or view changes have been sent or received
in the meantime. It will resume when messages are received. This effectively suspends sending superfluous
STABLE messages in the face of no activity.
New: when max_bytes
is exceeded (unless disabled by setting it to 0),
a STABLE task will be started (unless it is already running).
Nested Class Summary | |
---|---|
static class | STABLE.StableHeader |
Method Summary | |
---|---|
void | down(Event evt) |
long | getDesiredAverageGossip() |
long | getMaxBytes() |
String | getName() |
int | getNumberOfGossipMessages() |
Vector | requiredDownServices() |
void | resetStats() |
void | runMessageGarbageCollection() |
void | setDesiredAverageGossip(long gossip_interval) |
void | setMaxBytes(long max_bytes) |
boolean | setProperties(Properties props) |
void | start() |
void | stop() |
void | up(Event evt) |