Author: pero
Date: Thu Apr 26 14:41:47 2007
New Revision: 532877

URL: http://svn.apache.org/viewvc?view=rev&rev=532877
Log:
Remove senders as member disappeared..

Modified:
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?view=diff&rev=532877&r1=532876&r2=532877
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java
 Thu Apr 26 14:41:47 2007
@@ -19,6 +19,8 @@
 import java.io.IOException;
 import java.util.List;
 
+import org.apache.catalina.tribes.Member;
+
 /**
  * <p>Title: </p>
  *
@@ -83,7 +85,13 @@
         return (queue==null)?false:queue.checkIdleKeepAlive();
     }
 
+    public void add(Member member) {
+        // we don't need it senders are pooled...
+    }
     
+    public void remove(Member member) {
+        queue.remove(member) ;
+    }     
 
     //  ----------------------------------------------------- Inner Class
 
@@ -92,17 +100,17 @@
 
         PooledSender parent = null;
 
-        private List notinuse = null;
+        private List<DataSender> notinuse = null;
 
-        private List inuse = null;
+        private List<DataSender> inuse = null;
 
         private boolean isOpen = true;
 
         public SenderQueue(PooledSender parent, int limit) {
             this.limit = limit;
             this.parent = parent;
-            notinuse = new java.util.LinkedList();
-            inuse = new java.util.LinkedList();
+            notinuse = new java.util.LinkedList<DataSender>();
+            inuse = new java.util.LinkedList<DataSender>();
         }
 
         /**
@@ -141,6 +149,18 @@
             return result;
         }
 
+        // FIXME: remove also inuse senders. but then we must synch with 
sendMessage!
+        public synchronized void remove(Member member) {
+            if (isOpen) {
+                DataSender[] list = new DataSender[notinuse.size()];
+                notinuse.toArray(list);
+                for (int i=0; i<list.length; i++) {
+                    if(list[i] instanceof MultiPointSender)
+                        ((MultiPointSender)list[i]).remove(member);
+                }
+            }
+        }
+        
         public synchronized DataSender getSender(long timeout) {
             long start = System.currentTimeMillis();
             while ( true ) {
@@ -193,9 +213,6 @@
             notinuse.clear();
             inuse.clear();
             notify();
-            
-
-
         }
 
         public synchronized void open() {

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java?view=diff&rev=532877&r1=532876&r2=532877
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/PooledMultiSender.java
 Thu Apr 26 14:41:47 2007
@@ -69,13 +69,4 @@
         return sender;
     }
 
-
-    public void add(Member member) {
-
-    }
-
-    public void remove(Member member) {
-        //disconnect senders
-    } 
-
 }

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java?view=diff&rev=532877&r1=532876&r2=532877
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
 (original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java
 Thu Apr 26 14:41:47 2007
@@ -72,12 +72,5 @@
         this.connected = true;
         super.connect();
     }
-
-    public void add(Member member) {
-    
-    }
-    
-    public void remove(Member member) {
-        //disconnect senders
-    }    
+   
 }



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

Reply via email to