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]