Author: fhanik
Date: Tue May  2 16:51:02 2006
New Revision: 399092

URL: http://svn.apache.org/viewcvs?rev=399092&view=rev
Log:
More coding, still need to complete the heartbeat() to make sure there isn't a 
leak

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

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=399092&r1=399091&r2=399092&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
 Tue May  2 16:51:02 2006
@@ -94,8 +94,10 @@
     
     public synchronized void memberAdded(Member member) {
         if ( membership == null ) setupMembership();
-        if ( suspect.containsKey(member) ) suspect.remove(member);
-        else {
+        if ( suspect.containsKey(member) ) {
+            //previously marked suspect, system below picked up the member 
again
+            suspect.remove(member);
+        } else {
             //not correct, this could make the membership out of sync
             membership.addMember((MemberImpl)member);
             super.memberAdded(member);
@@ -110,11 +112,15 @@
             //not correct, we need to maintain the map
             membership.removeMember((MemberImpl)member);
             super.memberDisappeared(member);
-        } else suspect.put(member,new Long(System.currentTimeMillis()));
+        } else {
+            //add the member as suspect
+            suspect.put(member, new Long(System.currentTimeMillis()));
+        }
     }
     
     public boolean hasMembers() {
-        return super.hasMembers();
+        if ( membership == null ) setupMembership();
+        return membership.hasMembers();
     }
 
     public Member[] getMembers() {
@@ -123,7 +129,8 @@
     }
 
     public Member getMember(Member mbr) {
-        return super.getMember(mbr);
+        if ( membership == null ) setupMembership();
+        return membership.getMember(mbr);
     }
 
     public Member getLocalMember(boolean incAlive) {
@@ -133,7 +140,6 @@
     public void heartbeat() {
         //todo, implement an expiration of members that we deemed alive
         //check them again and act accordingly
-        
         super.heartbeat();
     }
     



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

Reply via email to