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 Julien
