Author: markt
Date: Tue Sep 15 12:45:24 2015
New Revision: 1703176
URL: http://svn.apache.org/r1703176
Log:
Code clean-up.
Should be no functional change.
Modified:
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/membership/Membership.java
Modified:
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/membership/Membership.java
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/membership/Membership.java?rev=1703176&r1=1703175&r2=1703176&view=diff
==============================================================================
---
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/membership/Membership.java
(original)
+++
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/membership/Membership.java
Tue Sep 15 12:45:24 2015
@@ -14,10 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.catalina.tribes.membership;
-
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
@@ -43,8 +41,7 @@ public class Membership implements Clone
private final Object membersLock = new Object();
/**
- * The name of this membership, has to be the same as the name for the
local
- * member
+ * The local member.
*/
protected final Member local;
@@ -59,8 +56,8 @@ public class Membership implements Clone
protected Member[] members = EMPTY_MEMBERS;
/**
- * sort members by alive time
- */
+ * Comparator for sorting members by alive time.
+ */
protected final Comparator<Member> memberComparator;
@Override
@@ -95,12 +92,15 @@ public class Membership implements Clone
public Membership(Member local, Comparator<Member> comp, boolean
includeLocal) {
this.local = local;
- if ( includeLocal ) addMember(local);
+ if (includeLocal) {
+ addMember(local);
+ }
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
+ * Reset the membership and start over fresh. i.e., delete all the members
+ * and wait for them to ping again and join this membership.
*/
public synchronized void reset() {
map.clear();
@@ -115,18 +115,19 @@ public class Membership implements Clone
* - false if this member is the local member or updated.
*/
public synchronized boolean memberAlive(Member member) {
- boolean result = false;
//ignore ourselves
- if ( member.equals(local) ) return result;
+ if ( member.equals(local)) {
+ return false;
+ }
- //return true if the membership has changed
+ boolean result = false;
MbrEntry entry = map.get(member);
- if ( entry == null ) {
+ if (entry == null) {
entry = addMember(member);
result = true;
} else {
//update the member alive time
- Member updateMember = entry.getMember() ;
+ Member updateMember = entry.getMember();
if(updateMember.getMemberAliveTime() !=
member.getMemberAliveTime()) {
//update fields that can change
updateMember.setMemberAliveTime(member.getMemberAliveTime());
@@ -147,18 +148,20 @@ public class Membership implements Clone
* @return The member entry created for this new member.
*/
public synchronized MbrEntry addMember(Member member) {
- synchronized (membersLock) {
- MbrEntry entry = new MbrEntry(member);
- if (!map.containsKey(member) ) {
- map.put(member, entry);
- Member results[] = new Member[members.length + 1];
- for (int i = 0; i < members.length; i++) results[i] = members[i];
- results[members.length] = member;
- members = results;
- Arrays.sort(members, memberComparator);
- }
- return entry;
- }
+ synchronized (membersLock) {
+ MbrEntry entry = new MbrEntry(member);
+ if (!map.containsKey(member) ) {
+ map.put(member, entry);
+ Member results[] = new Member[members.length + 1];
+ for (int i = 0; i < members.length; i++) {
+ results[i] = members[i];
+ }
+ results[members.length] = member;
+ members = results;
+ Arrays.sort(members, memberComparator);
+ }
+ return entry;
+ }
}
/**
@@ -180,8 +183,9 @@ public class Membership implements Clone
Member results[] = new Member[members.length - 1];
int j = 0;
for (int i = 0; i < members.length; i++) {
- if (i != n)
+ if (i != n) {
results[j++] = members[i];
+ }
}
members = results;
}
@@ -195,24 +199,27 @@ public class Membership implements Clone
* @return the list of expired members
*/
public synchronized Member[] expire(long maxtime) {
- if(!hasMembers() )
+ if (!hasMembers()) {
return EMPTY_MEMBERS;
+ }
ArrayList<Member> list = null;
Iterator<MbrEntry> i = map.values().iterator();
- while(i.hasNext()) {
+ while (i.hasNext()) {
MbrEntry entry = i.next();
- if( entry.hasExpired(maxtime) ) {
- if(list == null) // only need a list when members are expired
(smaller gc)
+ if (entry.hasExpired(maxtime)) {
+ if (list == null) {
+ // Only need a list when members are expired (smaller gc)
list = new java.util.ArrayList<>();
+ }
list.add(entry.getMember());
}
}
- if(list != null) {
+ if (list != null) {
Member[] result = new Member[list.size()];
list.toArray(result);
- for( int j=0; j<result.length; j++) {
+ for (int j=0; j<result.length; j++) {
removeMember(result[j]);
}
return result;
@@ -233,11 +240,13 @@ public class Membership implements Clone
public Member getMember(Member mbr) {
- if(hasMembers()) {
+ if (hasMembers()) {
Member result = null;
- for ( int i=0; i<this.members.length && result==null; i++ ) {
- if ( members[i].equals(mbr) ) result = members[i];
- }//for
+ for (int i = 0; i < this.members.length && result == null; i++) {
+ if (members[i].equals(mbr)) {
+ result = members[i];
+ }
+ }
return result;
} else {
return null;
@@ -245,7 +254,7 @@ public class Membership implements Clone
}
public boolean contains(Member mbr) {
- return getMember(mbr)!=null;
+ return getMember(mbr) != null;
}
/**
@@ -255,7 +264,7 @@ public class Membership implements Clone
* @return An array of the current members
*/
public Member[] getMembers() {
- if(hasMembers()) {
+ if (hasMembers()) {
return members;
} else {
return EMPTY_MEMBERS;
@@ -279,21 +288,21 @@ public class Membership implements Clone
// --------------------------------------------- Inner Class
- private static class MemberComparator implements Comparator<Member>,
- Serializable {
+ private static class MemberComparator implements Comparator<Member>,
Serializable {
private static final long serialVersionUID = 1L;
@Override
public int compare(Member m1, Member m2) {
- //longer alive time, means sort first
+ // Longer alive time, means sort first
long result = m2.getMemberAliveTime() - m1.getMemberAliveTime();
- if (result < 0)
+ if (result < 0) {
return -1;
- else if (result == 0)
+ } else if (result == 0) {
return 0;
- else
+ } else {
return 1;
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]