GossipProcessedDirective
public enum GossipProcessedDirective
Indicates the gossip payload was processed and changes to the membership were made.
-
The gossip was applied to the local membership view and an event may want to be emitted for it.
It is up to the shell implementation which events are published, but generally it is recommended to only publish changes which are
SWIM.MemberStatusChangedEvent.isReachabilityChange
as those can and should usually be acted on by high level implementations.Changes between alive and suspect are an internal implementation detail of SWIM, and usually do not need to be emitted as events to users.
Note for connection based implementations
You may need to establish a new connection if the changes’
previousStatus
isnil
, as it means we have not seen this member before and in order to send messages to it, one may want to eagerly establish a connection to it.Declaration
Swift
case applied(change: SWIM.MemberStatusChangedEvent?)