11-29-05 12:45 PM
[ http://issues.apache.org/jira/brows...23587
61 ]
Niklas Therning commented on DIRMINA-131:
-----------------------------------------
About the utility classes. Why not have a DefaultIoFilterChainBuilder which
has all the add/remove methods IoFilterChain has. Internally it will keep a
list of IoFilters. In DefaultIoFilterChainBuilder.build(chain) the filters i
n the internal list would s
imply be added last to the chain being built.
The SimpleServiceRegistry would use DefaultIoFilterChainBuilder which would
make it quite simple to migrate old code:
reg.getAcceptor( TransportType.SOCKET ).getFilterChain().addLast( "foo", foo
Filter )
would become
( ( DefaultIoFilterChainBuilder ) reg.getAcceptor( TransportType.SOCKET ).ge
tFilterChainBuilder() ).addLast( "foo", fooFilter )
Instead of the NOOP chain builder the concrete SessionManagers which come wi
th MINA could use DefaultIoFilterChainBuilder by default.
> Get rid of complexity of the current IoFilterChain.
> ---------------------------------------------------
>
> Key: DIRMINA-131
> URL: http://issues.apache.org/jira/browse/DIRMINA-131
> Project: Directory MINA
> Type: Improvement
> Versions: 0.8
> Reporter: Trustin Lee
> Assignee: Trustin Lee
> Fix For: 0.9
>
> This issue is the summary of these threads in the Apache Directory Project
mailing list:
> http://www.nabble.com/-mina-Refacto...29-t553121.html
> http://www.nabble.com/-mina-IoFilte...22-t548297.html
> Currently, IoFilterChains are categorized into two; one is IoSessionManagerFilterC
hain, and the other is IoSessionFilterChain. IoSessionManagerFilterChain is shared
by all sessions managed by the same IoSessionManager, and IoSessionFilterChain is in
div
idual for each session. But this design made the internal architecture of MINA filter chain
very complex comparing its usefulness.
> What about just getting rid of the original IoSessionManagerFilterChain, and provi
de a simple data structure which just stores a list of filters but still implements
IoFilter interface? By doing so, we can simply copy the chain into the IoSessionFil
ter
Chain before we start the communication, so the chain implementation gets simplified dramati
cally.
> Besides that, we have another option instead of using a simple data structure that
implements IoFilterChain. It is called 'IoFilterChainBuilder'. It is a kind of co
mmand pattern which configures the filter chain instead of simply appending the filt
er
list the chain. It provides great flexibility. For example, you can override the settings
of per-manager filter chain in your per-port (or per-session) chain builder.
> I think it will be best if we can combine these two approach by providing an IoFil
terChainBuilder implementation which simply appends the specified filter list to the
per-session chain.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[ Post a follow-up to this message ]
|