4 Replies Latest reply on Dec 31, 2004 2:00 PM by acoliver

    NIO

    acoliver

      I'm dickering with NIO in hopes of getting "timeout" to work. Furthermore I think I can do better with heap protection. Overall I think we'll be better off with non-blocking IO... It just looks like a pain so far. ;-)

        • 1. Re: NIO
          acoliver

          I'm making the changes for NIO in parrallel so as not to hold anyone up. There will be two versions of some things for now "NIO" and "IO" -- To get the NIO edition use the NIOServer as opposed to the Server mbean. They share interfaces however. Mostly anything effected will check if "socket" is null and use channel instead. I should be done before long however. I'm not sure how this will work with SSL... have to look into that.

          • 2. Re: NIO
            acoliver

            For my first pass I'm going to do this as thread-per-client because cmdData and other pieces which take over the stream will have to be pretty drastically altered (mostly CmdAUTH and CmdDATA). I'm betting POP will be more so (but I haven't looked there in awhile and I didn't write that code). I'll only worry about basic NIO thread-per-client, timeout and heap protection for the next milestone. I'll worry about SSL, event-driven for the following milestone.

            • 3. Re: NIO
              iwadasn


              I was under the impression that SSL only worked with NIO as of java 1.5. You'll probably have to make it 1.5 only if you want to use NIO for SSL.

              • 4. Re: NIO
                acoliver

                Yeah, we'll probably put this off for now. we could make it SSL only one 1.5...but neah.