NIO is already in alpha-tests for developers only.
There are still a fews things to correct, notably to find a way to detect that the host has no active connection (because NIO is not blocking and now LimeWire first attempts connections with UDP without waiting for a reply, nothing happens for long; there shoudl exist a watchdog to detect that some time has elapsed, so that the connection attempt is marked unresponsive; this code existed in the previous non-NIO based blocking code, but converting it to non-blocking NIO is still not perfect.
This just means that if you have no internet connection, with the alpha version, you won't get any notification with an alert box advizing to check your internet connectivity, and LimeWire stays for now indefinitely and silently in the "Connecting..." state until a connection is available. If you have Internet connected, then nothing seems bad, and Limewire is incredibly faster and uses much less CPU and memory paging to disk.
There are still some work to do to optimize the memory usage in Untrapeer mode, but the progress is still significant (for those users that have Java 1.4+; NIO is not available on MacOS Classic that just has Java 1.1.8; but MacOS Classic never qualifies to host a servent in Ultrapeer mode, so this is less a problem).
Windows users that still have Java 1.3.1 with an old version of LimeWire will really need to upgrade now to Java 1.4 to get NIO support and benefit of the improved performance. |