Worker threads re-factoring
The worker code needs to be redesigned.
Some of the worker control code is located in main window. This causes troubles in communication and scalability. Also, instead of signalling the threads set various progress-bars directly.
Steps to implement:
-
Implement worker pool. -
Worker threads need to be launched synchronously and asynchronously. -
Create worker task abstraction. -
Implement download message list task. -
Implement download message task. -
Download message list plans new download message tasks instead of downloading messages directly. This will allow pending tasks to be aborted more quickly. -
Implement send message task. -
GUI - Remove all libisds calls that are not called from worker threads.