Package org.jgroups

Examples of org.jgroups.MergeView


   private class NotifyMerge implements Notify {

      @Override
      public void emitNotification(List<Address> oldMembers, View newView) {
         MergeView mv = (MergeView) newView;

         final Address address = getAddress();
         final int viewId = (int) newView.getVid().getId();
         notifier.notifyMerge(members, oldMembers, address, viewId, getSubgroups(mv.getSubgroups()));
      }
View Full Code Here


         this.allMembers = translateAddresses(newView.getMembers(), factory);
         this.deadMembers = getDeadMembers(previousView.allMembers, allMembers);
         this.newMembers = getNewMembers(previousView.allMembers, allMembers);
         if(newView instanceof MergeView)
         {
            MergeView mergeView = (MergeView) newView;
            Vector<View> subgroups = mergeView.getSubgroups();
            this.originatingGroups = new Vector<List<ClusterNode>>(subgroups.size());
            for (View view : subgroups)
            {
               this.originatingGroups.add(translateAddresses(view.getMembers(), factory));
            }
View Full Code Here

            this.coordinator = this.jgmembers.size() == 0 ? null : this.jgmembers.elementAt(0);
            this.allMembers = translateAddresses(newView.getMembers(), factory);
            this.deadMembers = getDeadMembers(previousView.allMembers, allMembers);
            this.newMembers = getNewMembers(previousView.allMembers, allMembers);
            if (newView instanceof MergeView) {
                MergeView mergeView = (MergeView) newView;
                Vector<View> subgroups = mergeView.getSubgroups();
                this.originatingGroups = new Vector<List<ClusterNode>>(subgroups.size());
                for (View view : subgroups) {
                    this.originatingGroups.add(translateAddresses(view.getMembers(), factory));
                }
            } else {
View Full Code Here

   }

   private boolean needsToRejoin(View v) {
      if (v instanceof MergeView) {
         MergeView mv = (MergeView) v;
         org.jgroups.Address coord = v.getMembers().get(0);
         View winningPartition = null;
         for (View p : mv.getSubgroups()) {
            if (p.getMembers().get(0).equals(coord)) {
               winningPartition = p;
               break;
            }
         }
View Full Code Here

   private class NotifyMerge implements Notify {

      @Override
      public void emitNotification(List<Address> oldMembers, View newView) {
         MergeView mv = (MergeView) newView;

         final Address address = getAddress();
         final int viewId = (int) newView.getVid().getId();
         final boolean needsRejoin = needsToRejoin(newView);
        
         notifier.notifyMerge(members, oldMembers, address, viewId, needsRejoin, getSubgroups(mv.getSubgroups()));
         notifier.notifyViewChange(members, oldMembers, address, viewId, needsRejoin);
      }
View Full Code Here

   private class NotifyMerge implements Notify {

      @Override
      public void emitNotification(List<Address> oldMembers, View newView) {
         MergeView mv = (MergeView) newView;

         final Address address = getAddress();
         final int viewId = (int) newView.getVid().getId();
         notifier.notifyMerge(members, oldMembers, address, viewId, getSubgroups(mv.getSubgroups()));
      }
View Full Code Here

   }

   private boolean needsToRejoin(View v) {
      if (v instanceof MergeView) {
         MergeView mv = (MergeView) v;
         org.jgroups.Address coord = v.getMembers().get(0);
         View winningPartition = null;
         for (View p : mv.getSubgroups()) {
            if (p.getMembers().get(0).equals(coord)) {
               winningPartition = p;
               break;
            }
         }
View Full Code Here

   private class NotifyMerge implements Notify {

      @Override
      public void emitNotification(List<Address> oldMembers, View newView) {
         MergeView mv = (MergeView) newView;
         notifier.notifyMerge(members, oldMembers, getAddress(), (int) newView.getVid().getId(), needsToRejoin(newView), getSubgroups(mv.getSubgroups()));
      }
View Full Code Here

      }
   }

   private boolean needsToRejoin(View v) {
      if (v instanceof MergeView) {
         MergeView mv = (MergeView) v;
         org.jgroups.Address coord = v.getMembers().get(0);
         View winningPartition = null;
         for (View p: mv.getSubgroups()) {
            if (p.getMembers().get(0).equals(coord)) {
               winningPartition = p;
               break;
            }
         }
View Full Code Here

         allViews.add(v1);
         allViews.add(v2);

//         log.trace("Before installing new view: " + viewMembers);
//         System.out.println("Before installing new view: " + viewMembers);
         MergeView mv = new MergeView(view1.get(0).getAddress(), (long)viewId.incrementAndGet(), allAddresses, allViews);
         for (Channel c : channels)
            ((GMS) c.getProtocolStack().findProtocol(GMS.class)).installView(mv);
         return allMembers;
      }
View Full Code Here

TOP

Related Classes of org.jgroups.MergeView

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.