Author: fhanik
Date: Fri May 19 15:45:57 2006
New Revision: 407924

URL: http://svn.apache.org/viewvc?rev=407924&view=rev
Log:
By always sending a mcast packet synchronously, we don't have to worry about 
context switching and lag times

Modified:
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
    
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/TestTcpFailureDetector.java

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java?rev=407924&r1=407923&r2=407924&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/McastServiceImpl.java
 Fri May 19 15:45:57 2006
@@ -191,7 +191,7 @@
         boolean valid = false;
         if ( (level & Channel.MBR_RX_SEQ)==Channel.MBR_RX_SEQ ) {
             if ( receiver != null ) throw new 
IllegalStateException("McastService.receive already running.");
-            socket.joinGroup(address);
+            if ( sender == null ) socket.joinGroup(address);
             doRunReceiver = true;
             receiver = new ReceiverThread();
             receiver.setDaemon(true);
@@ -206,6 +206,9 @@
         } 
         if ( (level & Channel.MBR_TX_SEQ)==Channel.MBR_TX_SEQ ) {
             if ( sender != null ) throw new 
IllegalStateException("McastService.send already running.");
+            if ( receiver == null ) socket.joinGroup(address);
+            //make sure at least one packet gets out there
+            send();
             doRunSender = true;
             serviceStartTime = System.currentTimeMillis();
             sender = new SenderThread(sendFrequency);

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/TestTcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/TestTcpFailureDetector.java?rev=407924&r1=407923&r2=407924&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/TestTcpFailureDetector.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/test/membership/TestTcpFailureDetector.java
 Fri May 19 15:45:57 2006
@@ -56,7 +56,7 @@
         clear();
         channel1.start(channel1.DEFAULT);
         channel2.start(channel2.DEFAULT);
-        Thread.sleep(1000);
+        //Thread.sleep(1000);
         assertEquals("Expecting member count to be 
equal",mbrlist1.members.size(),mbrlist2.members.size());
         channel2.stop(channel2.SND_RX_SEQ);
         ByteMessage msg = new ByteMessage(new byte[1024]);
@@ -80,7 +80,7 @@
         channel2.start(channel2.MBR_RX_SEQ);
         channel2.stop(channel2.SND_RX_SEQ);
         channel2.start(channel2.MBR_TX_SEQ);
-        Thread.sleep(1000);
+        //Thread.sleep(1000);
         assertEquals("Expecting member count to not be 
equal",mbrlist1.members.size()+1,mbrlist2.members.size());
         channel1.stop(Channel.DEFAULT);
         channel2.stop(Channel.DEFAULT);
@@ -91,7 +91,7 @@
         clear();
         channel1.start(channel1.DEFAULT);
         channel2.start(channel2.DEFAULT);
-        Thread.sleep(1000);
+        //Thread.sleep(1000);
         assertEquals("Expecting member count to be 
equal",mbrlist1.members.size(),mbrlist2.members.size());
         channel2.stop(channel2.MBR_TX_SEQ);
         ByteMessage msg = new ByteMessage(new byte[1024]);



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

Reply via email to