From: Miguel A. B. L. <ari...@us...> - 2007-05-31 14:47:38
|
Update of /cvsroot/arianne/marauroa/src/marauroa/common/net In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv26253/src/marauroa/common/net Modified Files: Decoder.java Log Message: Spotted the bug. Fixed the interface. Fixing the bug. Index: Decoder.java =================================================================== RCS file: /cvsroot/arianne/marauroa/src/marauroa/common/net/Decoder.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Decoder.java 9 Apr 2007 14:47:07 -0000 1.17 --- Decoder.java 31 May 2007 14:47:37 -0000 1.18 *************** *** 8,11 **** --- 8,12 ---- import java.util.Map; + import marauroa.common.Log4J; import marauroa.common.net.message.Message; *************** *** 18,21 **** --- 19,25 ---- public class Decoder { + /** the logger instance. */ + private static final marauroa.common.Logger logger = Log4J.getLogger(Decoder.class); + /** * This class handle not completed messages. *************** *** 118,122 **** * if the message version mismatch the expected version */ ! public Message decode(SocketChannel channel, byte[] data) throws IOException, InvalidVersionException { MessageParts buffers = content.get(channel); --- 122,126 ---- * if the message version mismatch the expected version */ ! public List<Message> decode(SocketChannel channel, byte[] data) throws IOException, InvalidVersionException { MessageParts buffers = content.get(channel); *************** *** 134,143 **** /* If we have the full data build the message */ Message msg = msgFactory.getMessage(data, channel, 4); ! return msg; } else { /* If there is still data to store it. */ buffers = new MessageParts(size); content.put(channel, buffers); } } --- 138,153 ---- /* If we have the full data build the message */ Message msg = msgFactory.getMessage(data, channel, 4); ! List<Message> list=new LinkedList<Message>(); ! list.add(msg); ! ! return list; } else { + logger.debug("Message full body missing ("+size+"), waiting for more data ("+data.length+")."); /* If there is still data to store it. */ buffers = new MessageParts(size); content.put(channel, buffers); } + } else { + logger.debug("Existing data, trying to complete Message full body"); } *************** *** 148,154 **** if (msg != null) { content.remove(channel); } - return msg; } } --- 158,169 ---- if (msg != null) { content.remove(channel); + List<Message> list=new LinkedList<Message>(); + list.add(msg); + + return list; + } else { + return null; } } } |