mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject Re: IoFilterChain.processExceptionCaught()
Date Mon, 11 Jul 2011 18:01:09 GMT
On 7/11/11 7:43 PM, Alan D. Cabrera wrote:
> On Jul 11, 2011, at 10:25 AM, Emmanuel Lecharny wrote:
>> On 7/11/11 7:14 PM, Alan D. Cabrera wrote:
>>> On Jul 10, 2011, at 10:23 PM, Julien Vermillard wrote:
>>>> On Mon, Jul 11, 2011 at 1:51 AM, Alan D. Cabrera<list@toolazydogs.com>
>>>>> What would a user put as an implementation to this method?  I'm wondering
how useful it is.
>>>>> Regards,
>>>>> Alan
>>>> I use to close session on ProtocolDecoderException in
>>>> IoHandle#exceptionCaught. Since we removed the IoHandler and only use
>>>> IoFilter, I think we need this event in IoFilter.
>>> I was thinking that if an exception is thrown by a filter then the session should
be closed.
>> It's up to the Handler implementer to decide to close the session, or not.
> Is there a concrete use case where this is necessary?  If a filter barfs in such a way
that it leaks an exception should not this always be treated as a critical error?

I think it would be violent. We may have some exception because we have 
reached a limit (like when we use a throttled connection), and critical 
exceptions that require an immediate session closure.

Now, we can start with a simple implementation, which close the session 
no matter what, and later, if needed, we add some mechanism to bypass 
this standard behavior.

Keep in mind that I'm tainted by the existing code, and it's rather a 
good idea to start from a blank page. Your questions, and my answers, 
clearly reflect this state of mind. I'm totally pro changing mine, as 
I'm resisting for some bad reason : inertia. So please, keep going !

Emmanuel L├ęcharny

View raw message