[ http://issues.apache.org/jira/browse/DIRMINA-45?page=comments#action_66046 ] Trustin Lee commented on DIRMINA-45: ------------------------------------
This exception is thrown when you return true but not reading any byte. You have to read at least one byte if you returned true. Could you check this case in your decoder using a debugger or System.out.println()? > DemuxingProtocolCodecFactory.doDecode is called even after the buffer is > empty. > ------------------------------------------------------------------------------- > > Key: DIRMINA-45 > URL: http://issues.apache.org/jira/browse/DIRMINA-45 > Project: Directory MINA > Type: Bug > Versions: 0.7.1 > Environment: JDK1.4.2 > Reporter: Alex > Assignee: Trustin Lee > Fix For: 0.7.2 > > I am not sure if it is a bug or I just misunderstood something. > I am implementing a protocol and use Demuxing* classes. > When I return MessageDecoder.OK from my MessageDecoder's decode method, MINA > tries repeatedly calls this method again. If I return > MessageDecoder.NEED_DATA everything goes fine. > So, I would expect completely reversal behaviour. > I checked CumulativeProtocolDecoder and DemuxingProtocolCodecFactory classes. > In CumulativeProtocolDecoder.decode it says that doDecode is invoked > repeatedly until it returns false. Fine. But what "false" means here? I would > guess that it means that buffer was completely decoded and no more data is > needed. But DemuxingProtocolCodedFactory.doDecode returns true if decoder > returned MessageDecoder.OK and false if decoder returned > MessageDecoder.NEED_DATA. Isn't wrong here? > Alex -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
