Hi guys,
Little late on the subject 
but better late than never as people says
Code features :
>- integrating proxy patch
The proxy connector needs some javadocing and maybe some tighter integration 
with the core as it was 
primarily intended to work out of the box without any core modifications. Some 
comments from the team
would be much appreciated as sometimes it is difficult to question myself after 
so much time thinking on it
fresh eyes could open fresh perspectives.

>- composite buffers and streams based on it
There seems to be much interest on this feature avoiding buffer copy is 
definitely a must have 
+1

>- killing IoBuffer
Need some pointers on this discussion about the downsides of it.
>- fixing logging filter
I like Julien's hardcoded way because log filter is a debugging tool (maybe 
we should rename it to DebugFilter as well) 
but i would add some booleans to enable/disable event logging programatically 
on a method basis
to make it fully configurable.

>removing netty2 codec module (who want to use it for Mina 2.0 ?) 
- who is using it ? is there any advantage which is not already built-in core ? 
if so should we port it ?

>test coverage (yeah painfull at this point)
+1

>write traffic throttling
+1 this is tricky and providing as much help on this subject  will help 
community

>Doc feature : 
+1 to the whole doc effort

>state of the art release tarballs
Rpms and stuff is not a priority for the 2.0 release in my own opinion too.
Need to look closely to the tarballs to make structure improvements suggestions

> new website, clearer, and with better integration/links to
> subprojects like ftpserver and asyncweb
Pretty simple example it's hard to find the svn repository link so it's not 
really a whole start over
that is needed but maybe a clearer navigation
Hope this helps.
 Cordialement, Regards,
-Edouard De Oliveira-
http://tedorg.free.fr/en/main.php



----- Message d'origine ----
De : Emmanuel Lecharny <[EMAIL PROTECTED]>
À : [email protected]
Envoyé le : Mardi, 26 Août 2008, 10h55mn 15s
Objet : Re: 2.0 Roadmap ?

Hi guys,

sorry for not having replied to this mail yesturday, I was busy with 
personal stuff.

Thanks Julien for having done this summarize. I have to add that we 
didn't discussed all of the items on the list with Julien, but this is a 
very good thing that Julien added the important items. We badly need a 
roadmap for 2.0, taht's for sure.

Comments in line

Julien Vermillard wrote:
> Hi,
>
> next step is to create a wiki page due to the size of the list :)
>  
Certainly.
>  
>> <snip/>
>>> Code features :
>>>
>>> - integrating proxy patch
>>>      
>> Don't know what this is about.
>>    
> https://issues.apache.org/jira/browse/DIRMINA-415
>
> Edouard big patch for supporting proxy such as simple port forwarding
> and SOCKS.
> It's somewhat a big patch to shallow.
>  
ok. We have to look it closely.
>  
>>    
>>> - composite buffers and streams based on it
>>>      
>> I definitely want to get involved here but I need to catch up on the
>> conversations had in the past about it.
>>    
We need to discuss this item on the ML, as it will imply a hell lot of 
modifications.
>>
>>    
>>> - killing IoBuffer
>>>      
>> +1
>>    
Sure, +1.
>>    
>>> - fixing logging filter
>>>      
>> +1
>>    
I will create a JIRA plus submit at least two proposals (code)
>>    
>>> - removing netty2 codec module (who want to use it for Mina 2.0 ?)
>>>      
>> +1
>>    
+1
>>    
>>> - test coverage (yeah painfull at this point)
>>>      
>> Yeah test coverage is important but luckily MINA is not that large.
>> Test coverage makes it easier for people to get into the code to try
>> to add features or fix a bug while knowing their changes/fixes will
>> not cause regressions or breakage in the behavior of the API.  Plus
>> it's the best example code to use for how to learn to use different
>> features of MINA: I always look at test code when learning how to use
>> a new piece of OSS since the docs may not be there or may not be
>> totally up to date.
>>
>>    
>
> Emmanuel said me exactly the things word for word ;)
>  
We are sharing a lot with Alex, but more important, we have empowered 
each other to work better : removing bad habits ("Human habits ..." :) 
by learning from the other, and listening to criticisms. Here, we were 
on the very same page. It's also something we have gone through as we 
are not young bloods... call it experience !
>  
>>> - write traffic throttling
>>>      
>> Yes this is a concern of mine as well.  I've been experimenting in
>> the last few days specifically with ApacheDS trying to get her to
>> behave like a lady (u know not giving everything she's got and
>> overwhelming clients).  I realized we need to support the MINA
>> community by making the move to MINA 2 ASAP.  Was going to do this
>> last night but was wrestling with Maven issues. We'll probably make
>> the move shortly and can supply a lot of feedback with respect to
>> this aspect.
>>    
>
> I wrote a little resume here of ADS problem : 
> http://cwiki.apache.org/MINA/traffic-throttling.html
>
> I don't understand why it's not doable using WriteFuture.
> Would be very kind if someone of ADS can take 5 minutes to explain me
> where I'm wrong.
>  
I will try to explain the problem we have. May be I'm also missing some 
points.
>  
>>    
>>> Doc feature :
>>> - testing and perhaps tuning APR based transport
>>>      
>> +1
>>    
+1
>>    
>>> - doc on reqres filter
>>>      
>> Have not had the pleasure of looking at this filter at all - don't
>> know what it's for.
>>    
>
> it's for request/response protocols, so when you send a request you can
> listen for the response in a non blocking way.
> The whole module is doc less.
>  
ok. So +1
>  
>>> - finishing doc on transports (core/APR/serial)
>>>      
>> +1
>>    
+1
>>    
>>> - overall documentation (tutorial, concepts)
>>>      
>> +1
>>    
We badly need tutorials. Also, a while back, we discussed about buidling 
a kind of Ethereal on top of MINA. The biggest advantage of doing so 
(having a protocol codec for many well know protocols) is that people 
who want to learn about MINA will have real life samples on how to 
implement a protocol on top of MINA. Good candidates for such codec are 
obviously HTTP, FTP or LDAP (which is quite complex).
>>    
>>> - new website, clearer, and with better integration/links to
>>> subprojects like ftpserver and asyncweb
>>>      
>> +1
>>    
+1 !
>>    
>>> - state of the art release tarballs
>>>      
>> +1
>>
>> I think might we have some reusable infrastructure over at Directory
>> that might help with this and things like deb, pkg, rpm installers.
>> We're not starting completely from scratch in other words.
>>
>>    
>
> Well MINA is a lib, so perhaps releasing linux package is a bit extreme.
> Some of the work was already contributed, we just need to find a
> workaround for a maven assembly bug.
>  
Yeah, may be not necessary to deliver a rmp/deb. Maybe interesting for 
AsyncWeb or FTPServer.
>>> The discussion is open, the idea is to gather wish and ideas, reach
>>> some consensus and clear the list of issue in JIRA.
>>>
>>>      
>> Personally I'm disappointed by MINA's internals and how complex it is.
>> Another committer and I were discussing this complexity on IM a while
>> back. He said, "I have not read a single project that was great that
>> did not have lucid crazy simple code.  It's like what Feynman said
>> about complex subjects: you don't really understand it.  Same goes
>> for code.  If it's complex and obfuscated you don't understand the
>> problem domain."  I whole heartedly agree and there might be a need
>> for some rearchitecting for the sake of simplification and clarity.
>>
>> This can be approached in phases with subtle refactorings of the
>> internals without impacting the API.  In general this will improve:
>>
>>
>>    - our ability to respond to bugs,
>>    - requests for new features,
>>    - increase the developer adoption rate with lucid code,
>>    - have better more discrete test cases for internals,
>>    - and better manage and interpret issues when internals are
>> explicit in what they are designed to do
>>
>> After realizing that I need to step up, I've started reaclimating
>> myself with the internals.  I could not believe how disorderly it is:
>> I thought it was in much better shape. 
>>    
>
> What is amazing, it's the simplicity of the API and the complexity of
> the internals, it's sure NIO is not helping us here, but the is a lot
> of things to fix/document in core. Emmanuel raised a good example with
> LoggingFilter.
>
> The death of IoBuffer will probably be the first big simplification of
> the code base.
>  
Damn yes ! IoBuffer represent itself around 15% of the code.

There is another aspect which is cumbersome and complex : the filter 
chain. I personnally don't think we need to have such a complex 
implementation (the chaining concept is ok). For instance, we have a 
HeadFilter and a TailFilter, I don't think we need them. Plus I also 
think that we should distinguish between the incoming chain and the 
outgoing chain. last, not least, we may need to have more than one 
chain, as events may not have the same pathways. This is something we 
have to think about.
Another reason why the current implementation sucks, is taht when it 
comes to debug it, it's really a PITA.

>  
>> In the present state, it's
>> very hard to see people with limited time frames looking at the code
>> and understanding it in time to actually affect some change.  The
>> barrier is too high but we can fix that one step at a time.
>>
>> Alex
>>    
>
> Yep actually MINA contributors are all hobbyist in the number of hours
> allocated, so we need reasonable target.
>  
The current community is pretty wealthy, and I'm quite please to see 
that ithere is a lot of positive energy, and new blood. Also we are not 
in a hurry, as we don't have to deliver MINA 2.0 in 3 months. We can 
spend a few extra months in order to get a good 2.0 MINA. And I don't 
want to have a 2.0 out if this is just to start working on a 3.0 which 
will be almost a complete rewrite.

Thanks Julien !
> Julien
>  


-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


      
_____________________________________________________________________________ 
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr

Reply via email to