Package org.jgroups

Class MergeView

java.lang.Object
org.jgroups.View
org.jgroups.MergeView
All Implemented Interfaces:
Comparable<View>, Iterable<Address>, Constructable<View>, SizeStreamable, Streamable

public class MergeView extends View
A view that is sent as a result of a cluster merge. Whenever a group splits into subgroups, e.g., due to a network partition, and later the subgroups merge back together, a MergeView instead of a View will be received by the application. The MergeView class is a subclass of View and contains as additional instance variable: the list of views that were merged. For example, if the group denoted by view V1:(p,q,r,s,t) splits into subgroups V2:(p,q,r) and V2:(s,t), the merged view might be V3:(p,q,r,s,t). In this case the MergeView would contain a list of 2 views: V2:(p,q,r) and V2:(s,t).
Since:
2.0
  • Field Details

    • subgroups

      protected View[] subgroups
  • Constructor Details

    • MergeView

      public MergeView()
    • MergeView

      public MergeView(ViewId view_id, List<Address> members, List<View> subgroups)
      Creates a new merge view
      Parameters:
      view_id - The view id of this view (can not be null)
      members - Contains a list of all the members in the view, can be empty but not null.
      subgroups - A list of Views representing the former subgroups
    • MergeView

      public MergeView(ViewId view_id, Address[] members, List<View> subgroups)
    • MergeView

      public MergeView(Address creator, long id, List<Address> members, List<View> subgroups)
      Creates a new view
      Parameters:
      creator - The creator of this view (can not be null)
      id - The lamport timestamp of this view
      members - Contains a list of all the members in the view, can be empty but not null.
      subgroups - A list of Views representing the former subgroups
  • Method Details