On Fri, Aug 26, 2011 at 4:28 PM, Alan D. Cabrera <[email protected]> wrote:
>
> On Aug 26, 2011, at 7:12 AM, Julien Vermillard wrote:
>
>> On Fri, Aug 26, 2011 at 4:07 PM, Emmanuel Lecharny <[email protected]> 
>> wrote:
>>> On 8/26/11 3:44 PM, Alan D. Cabrera wrote:
>>>>
>>>> On Aug 26, 2011, at 6:40 AM, Julien Vermillard wrote:
>>>>
>>>>> On Fri, Aug 26, 2011 at 3:24 PM, Alan D. Cabrera<[email protected]>
>>>>>  wrote:
>>>>>>
>>>>>> On Aug 26, 2011, at 4:14 AM, Julien Vermillard wrote:
>>>>>>
>>>>>>> I modified the API to remove IoFilterChain. Now you are supposed to
>>>>>>> give a list of filter to the service before starting it :
>>>>>>>
>>>>>>> // create the fitler chain for this service
>>>>>>> List<IoFilter>  filters = new ArrayList<IoFilter>();
>>>>>>> filters.add(new LoggingFilter("byte log filter"));
>>>>>>> filters.add(new MyCodecFilter());
>>>>>>> filters.add(new LoggingFilter("pojo log filter"));
>>>>>>> filters.add(newMyProtocolLogicFilter());
>>>>>>>
>>>>>>> acceptor.setFilters(filters);
>>>>>>>
>>>>>>> acceptor.bind(...);
>>>>>>
>>>>>> How do we make chains where two filters feed into one or one filter
>>>>>> feeds two filters?  If you look in my sandbox we can accommodate this 
>>>>>> via:
>>>>>>
>>>>>> static import a.m.util.Util. linkParentWithChild; // to be written
>>>>>>
>>>>>> IoFilter foo = new FooFilter();
>>>>>> LinkStateFilter link = new LinkStateFilter();
>>>>>> IoFilter checksum = new ChecksumFilter();
>>>>>> IoFilter log = new LogFilter();
>>>>>>
>>>>>> link.addLinkStateListener(foo);
>>>>>> linkParentWithChild(foo, checksum);
>>>>>> linkParentWithChild(link, checksum);
>>>>>> linkParentWithChild(checksum, log);
>>>>>>
>>>>>> acceptor.setFilters(foo);
>>>>>>
>>>>> About the code in the sandbox :
>>>>>
>>>>> http://svn.apache.org/repos/asf/mina/sandbox/adc/ahc/mina3/src/main/java/org/apache/mina/core/IoFilter.java
>>>>> I see no IoFilter.addLinkStateListener(..) method, am I looking at the
>>>>> right place ?
>>>>
>>>> Oops, it was meant to just be a sketch.  :)
>>>>
>>>>> About the "filters feed into one or one filter feeds two filters", do
>>>>> you have a concrete use case in mind for that ?
>>>>
>>>> The above example does, Foo and the link state filter.  I'm sure that
>>>> we've discussed this before.  Another example is a mux/demux situation.  
>>>> How
>>>> would all of this fit into the grand scheme of things?
>>>
>>> Yeah, it really should be a graph of filters, not a list of filters.
>>>
>>
>> Well if it's just for demuxing I proposed few mails ago this solution
>> : http://s.apache.org/A9W
>
> I think we need to make graphing a 1st class citizen and not buried inside 
> another filter class.
>
I think we need to avoid complex feature like graph. IMHO server in
MINA is a codec and an handler 90% of the time. Someone have a use
case which could use filter graph with MINA ?

Reply via email to