On Fri, 2006-07-21 at 15:13 -0400, peter royal wrote: > On Jul 21, 2006, at 4:24 AM, Oleg Kalnichevski wrote: > > MINA may be a good choice for architectures that aim at supporting a > > wide range of network protocols. As far as HttpComponents are > > concerned, > > we are not going to expand the scope of the project beyond HTTP. > > So, in > > my opinion, the benefits of having an abstract I/O layer provided by > > MINA does not outweigh the cost of an extra dependency. > > I understand that POV.. Just means that you'll have to do all of the > NIO plumbing that's required inside of the HttpComponents project > itself. >
Many Jakarta projects are often criticized, in some cases quite justifiably, for having 'incestial' code inter-dependencies. I strongly believe that a limited code duplication is a lesser evil than an excessive number of external libraries. HttpComponents and MINA have different goals and scope, target different user groups and therefore should not be coupled directly. Overall I find the architecture of MINA quite impressive and I would like to see if some of the MINA code can be borrowed and re-used in HttpNIO. > > Moreover, it should be feasible to put HttpCore (and potentially > > HttpNIO) on top of MINA or any other I/O abstraction layer by > > providing > > a custom implementation of the HttpDataReceiver and > > HttpDataTransmitter > > interfaces and to re-use higher level protocol logic of > > HttpComponents. > > Certainly. At a minimum, I would hope that we would be able to share > higher level code like that, and sounds like that's one point we are > already in agreement on :) > Would there be any interest in a contribution of a simple HTTP server based on MINA and HttpCore to the MINA project? Alternatively, I could add such an implementation as an example to HttpCore. At the very least I would like to make sure that putting HttpCore/HttpNIO on top of MINA is next to trivial, involve little coding and does not require forking of either library. How does that sound? Oleg > -pete > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]