From c9c886db2cbd9532effec3739d11307911bdf737 Mon Sep 17 00:00:00 2001 From: fhanik Date: Wed, 23 Apr 2008 11:12:23 +0000 Subject: [PATCH] notify user of the actual error and add a todo behavior for buffer copying git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@650826 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/tribes/membership/McastServiceImpl.java | 7 ++++++- java/org/apache/catalina/tribes/transport/nio/NioSender.java | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java index 1c4341a52..052d9631e 100644 --- a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java +++ b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java @@ -230,7 +230,12 @@ public class McastServiceImpl boolean valid = false; if ( (level & Channel.MBR_RX_SEQ)==Channel.MBR_RX_SEQ ) { if ( receiver != null ) throw new IllegalStateException("McastService.receive already running."); - if ( sender == null ) socket.joinGroup(address); + try { + if ( sender == null ) socket.joinGroup(address); + }catch (IOException iox) { + log.error("Unable to join multicast group, make sure your system has multicasting enabled."); + throw iox; + } doRunReceiver = true; receiver = new ReceiverThread(); receiver.setDaemon(true); diff --git a/java/org/apache/catalina/tribes/transport/nio/NioSender.java b/java/org/apache/catalina/tribes/transport/nio/NioSender.java index 3db44e41e..a5e9874c5 100644 --- a/java/org/apache/catalina/tribes/transport/nio/NioSender.java +++ b/java/org/apache/catalina/tribes/transport/nio/NioSender.java @@ -338,6 +338,8 @@ public class NioSender extends AbstractSender implements DataSender{ if ( writebuf != null ) writebuf.clear(); else writebuf = getBuffer(length); if ( writebuf.capacity() < length ) writebuf = getBuffer(length); + + //TODO use ByteBuffer.wrap to avoid copying the data. writebuf.put(data,offset,length); //writebuf.rewind(); //set the limit so that we don't write non wanted data -- 2.11.0