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]