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 is nil, 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?)