Hi Emmanuel,
When the decode object gets control with the IoBuffer object, because a
NEED_DATA was triggered, does the new IoBuffer object have the older data
pre-pended to the recently read data ?

For example, I am expecting 100 bytes of data of which I have received 30
bytes now. So, I trigger NEED_DATA. Will the subsequent invocation of
decode have the IoBuffer object with 100 bytes or 30 bytes data ?

In my debugging attempts, I see that, it is 100. However, the log messages
seem to show 30 and 70 separately. For example, in the log excerpt below, I
see, 4096 and 1123 bytes of message and in my debug trace, I see the new
IoBuffer to have a limit of 5229 (=4096+1123).

161589 [NioProcessor-2] INFO org.apache.mina.filter.logging.LoggingFilter -
RECEIVED: HeapBuffer[pos=0 lim=4096 cap=4096: ...]
176231 [NioProcessor-2] INFO org.apache.mina.filter.logging.LoggingFilter -
RECEIVED: HeapBuffer[pos=0 lim=1123 cap=8192: ...]

ನಾಗೇಶ್


On Fri, Jul 27, 2012 at 1:09 AM, ನಾಗೇಶ್ ಸುಬ್ರಹ್ಮಣ್ಯ (Nagesh S) <
[email protected]> wrote:

> Hi Emmanuel,
> Thanks for the explanation.
>
> I guess, I will have to use the IoSession object to save an attribute to
> denote that a particular iteration of decoding was 'fresh' or a result of
> NEED_DATA.
>
> ನಾಗೇಶ್
>

Reply via email to