On Fri, Nov 27, 2009 at 9:39 AM, Ashish <[email protected]> wrote: >> they are not recent). Here they are. >> >> First, let's start with what we really need : >> o A chain has a start > > Yup, very much needed > >> o A chain has an end > > Very logical. Do we need a marker end of chain or if we don't get next > filter, we assume its the end?
IMO, The IoHanlder (which inherit from IoFilter) is the end. The underlying question is : should we get rid of the Head and Tail filter we are currently use, as they are most certainly useless. > >> o Both start and end are Filter instances > > Very much true. Again to point to bullet 2. Do we need these start and > end to be marker Filters and we add them explicitly in the chain. se above > From the discussion on MINA 3.0 design page, it seems we want to get > rid of Head and Tail filter. Yes. >> o We have as many filters as we need in the chain >> o Filters can be added or removed dynamically > > Hmm.. here I would like to add, that if the chain is modifiable Seems like you started a sentence, but were disturbed and never finished it ;) >> o A chain is instanciated for each session (if we have 10K sessions, we have >> 10K instances of chain) > > Agreed. But is there a possibility to have it only for mutable chains. > Say if a Chain is static (User's choice), we may choose not to create > so many instances. Although we need to see how much complexity it adds > to our implementation. Yeah, exactly. I forgot to mention that. > There is one more thing, related to stateful filters. How do we take > care of them. Good question... The problem is how do we handle state selection. The previous discussion exposed the transition mechanism, not the selection. Obvioulsy, depending on the approach (1 2 or 3), the way we handle the next filter selection will not be implemented the same way. To me, approach 2 is the more versatile... -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
