Author: fhanik
Date: Thu Jun  8 06:58:04 2006
New Revision: 412754

URL: http://svn.apache.org/viewvc?rev=412754&view=rev
Log:
Added constructor that creates a membership that includes the local member

Modified:
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java?rev=412754&r1=412753&r2=412754&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
 Thu Jun  8 06:58:04 2006
@@ -210,13 +210,12 @@
     protected void sendElectionMsg(MemberImpl local, MemberImpl leader, 
MemberImpl[] others) throws ChannelException {
         synchronized (electionMutex) {
             if ( suggestedviewId != null ) return;//election already running, 
I'm not allowed to have two of them
-            Membership m = new Membership(local,AbsoluteOrder.comp);
-            m.addMember(local);
+            Membership m = new Membership(local,AbsoluteOrder.comp,true);
             Arrays.fill(m,others);
             MemberImpl[] mbrs = m.getMembers();
             CoordinationMessage msg = new CoordinationMessage(leader, local, 
mbrs,new UniqueId(UUIDGenerator.randomUUID(true)), this.COORD_REQUEST);
             suggestedviewId = msg.getId();
-            suggestedView = new Membership(local);
+            suggestedView = new Membership(local,AbsoluteOrder.comp,true);
             Arrays.fill(suggestedView,mbrs);
             m.reset(); 
             m = null;
@@ -249,8 +248,7 @@
     
     protected Membership mergeOnArrive(CoordinationMessage msg, Member sender) 
{
         MemberImpl local = (MemberImpl)getLocalMember(false);
-        Membership merged = new Membership(local,AbsoluteOrder.comp);
-        merged.addMember(local);
+        Membership merged = new Membership(local,AbsoluteOrder.comp,true);
         Arrays.fill(merged,msg.getMembers());
         Arrays.fill(merged,getMembers());
         Member[] diff = Arrays.diff(merged,membership,local);
@@ -277,8 +275,7 @@
     
     protected void handleViewConf(CoordinationMessage msg, Member 
sender,Membership merged) throws ChannelException {
         //not yet complete
-        this.view = new 
Membership((MemberImpl)getLocalMember(false),AbsoluteOrder.comp);
-        this.view.addMember((MemberImpl)getLocalMember(false));
+        this.view = new 
Membership((MemberImpl)getLocalMember(false),AbsoluteOrder.comp,true);
         this.viewId = msg.getId();
         
         if ( viewId.equals(this.suggestedviewId) ) {
@@ -458,8 +455,8 @@
     
     protected synchronized void setupMembership() {
         if ( view == null || membership == null ) {
-            view = new 
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp);
-            membership  = new 
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp);
+            view = new 
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp,true);
+            membership  = new 
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp,false);
         }
     }
     

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java?rev=412754&r1=412753&r2=412754&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
 Thu Jun  8 06:58:04 2006
@@ -75,15 +75,23 @@
      * Constructs a new membership
      * @param name - has to be the name of the local member. Used to filter 
the local member from the cluster membership
      */
-    public Membership(MemberImpl local) {
+    public Membership(MemberImpl local, boolean includeLocal) {
         this.local = local;
+        this.addMember(local);
+    }
+
+    public Membership(MemberImpl local) {
+        this(local,false);
     }
 
     public Membership(MemberImpl local, Comparator comp) {
-        this(local);
-        this.memberComparator = comp;
+        this(local,comp,false);
     }
 
+    public Membership(MemberImpl local, Comparator comp, boolean includeLocal) 
{
+        this(local,includeLocal);
+        this.memberComparator = comp;
+    }
     /**
      * Reset the membership and start over fresh.
      * Ie, delete all the members and wait for them to ping again and join 
this membership



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to