Limits! - Version 1.0.1
So after a couple days in release, we've had a good 60 or so users connect to the application.
A lot of these users were first year, though, and their courses generate many permutations. A 5-course semester can easily have half a million schedules! This slows down the server for everyone.
In attempt to address these issues, this update changes the behavior of the server in two ways:
- The generation task is now its own object and can be run in multiple threads. This should theoretically prevent big schedule generations from holding up everything.
- There is a limit on the number of return results of 1000. Anything more will be excluded. This turns a 10+ second transfer into about 500ms. And really, the user probably will be choosing a sort order and eliminating sections as he goes, thus making the other 499,000 courses not too useful.
The GUI has also been updated to display a message when it receives a course list of size 1000, with a message that the user should narrow down his search criteria. The calendar will display: Displaying Schedule x / 1000+
Enjoy the added stability and speed, everyone! Note that the Server still works just fine with GUI v1.0.0, there is just no indication that more than 1000 schedules were generated.
Note: ClientConsole.jar has not been updated, please refer to version 1.0.0