Hi Nicolas,

Mind you that I am not a MINA expert :-)
I am not convinced that your decoder is wrong, I was just trying to help you.
Of course it's possible that the duplicates messages are caused by a Mina bug,
I just find it rather unlikely.

Have you tried to debug your application, and step through the
decoding process ?
It can be very enlightening.

I haven't used DemuxingProtocolCodecFactory myself, but I see that the
pos and limit of the ByteBuffer are reset after calling
decoder.decodable()
Not sure that is compatible with your code ?

good luck,
Maarten

On 1/17/07, Nicolas FROMENT <[EMAIL PROTECTED]> wrote:

No problem for the confusion ;)
No problem for logging more too. But as I said in my first post I
receive the message twice about one time for every 100 000 messages. So
the log can be HUGE.
Regarding sharing the decoder I assume hat is not the case ! I use
ProtocolCodecFactory extended from DemuxingProtocolCodecFactory. I think
that the decoder / encoder are new for each session. Tell me again if
I'm wrong.
As you seem convinced that my decoder is wrong can i suggest that Mina
can failed too ? :) I mean if mina has been tested with protocol such as
http, receiving a message twice could be hidden (you just send back a
response twice), maybe nobody notice this. Do you think it's possible ?

Nicolas



Maarten Bosteels a écrit :
> On 1/17/07, Nicolas FROMENT <[EMAIL PROTECTED]> wrote:
>>
>> >
>> >
>> > As you can see, when there is no data available it just returns an
>> > emty string.
>> > I would check in.remaining() before reading the header
>> >
>> Thanks for your help. As you may see this test is already done in
>> decodable(). As far as I know decodable is called before decode. So when
>> readHeader is called there is more than HEADER_LENGHT data? So an empty
>> string is not return. By the way, let's imagine that it is the case, I
>> don"t see how it can be related to a duplicate message ? again do i miss
>> something important ?
>
> You're right, I got confused.
> I would put some more logging in your decoder.
> I guess you know that, since your decoder is statefull, it should be
> not shared with other IoSessions ?
>


--
******************************************************************
Nicolas Froment         [EMAIL PROTECTED]
Software Architect

Hi-Stor Technologies        www.histor.fr
23 bd Victor Hugo            Std:    +33 (0) 562 12 14 40 (Voice)
Bâtiment Socrate             Fax:    +33 (0) 562 12 14 49
31770 Colomiers
FRANCE

****************************************************************


Reply via email to