Niklas Gustavsson wrote:
In the end, you can't please to everybody.
Agreed, and it makes this a hard decision as both sides of the choice
makes a of of sense.
From a technical point of view, there is one thing that sets apart what
king of server ftpserver will be.
Will ftpserver be non-blocking (X connections -> 1 thread) or blocking
(1 connection = 1 thread)? The former is obviously better than the latter.
This sole technical features makes a huge difference. The
quality/scalability of the server will be greatly influenced by the
choice of nio vs io.
Java 1.4 supports nio but not the ssl-nio. Mina 1.0.x is based on java 1.4.
Java 1.5/6 supports nio and ssl-nio.
Dave says that "My main reason for using and getting involved in this
project is the SSL support." This rules out nio as ssl-nio is not
available to java 1.4. Therefore this rules out mina too.
Could there be a way to support both models? let's see:
For normal connection without ssl you could use mina.
client <---> [ mina - ftpserver ]
For ssl you could have 2 models:
1) one mode would use ssl-nio:
client <---> [ mina - sslFilter - ftpserver ]
2) another compatibility-mode for pure java 1.4
client <---> [ blocking ssl - mina - ftpserver ]
In this last mode, the blocking ssl server would decrypt the data stream
and feed it to mina. From the [mina-ftpserver] point of view this would
work like a regular ftp session.
The communication between the blocking ssl and mina could be a regular
socket connection. I don't know if it could be a VmPipeConnector too
(but that's an implementaion detail).
What do you think?
_________________________________________________________________
Find dine dokumenter lettere med MSN Toolbar med Windows-pc-søgning:
http://toolbar.msn.dk