« Previous | Next » 

Revision 2553b852

ID2553b8520cc1a6735aafc866fbf0328eb244d9c7
Parent 7c9492e6
Child d9f91da9

Added by pserwylo over 2 years ago

WIP: Move swap starting/stopping to async task.

There is now a private [en|dis]ableSwappingSynchronous() method, to go
along with the public [en|dis]ableSwapping() method. The public method
knows about not spinning up tasks if already enabled, and also about
pushing the invocation to a background task. The private method just
blindly does what it is asked, without checking if it should be done,
and without running on a background task.

The same goes for the restartIfEnabled() method, it is responsible for
creating a single background task which runs in order: disable, and
then enable. This is actually the reason for having the synchronous
methods, rather than having, e.g., the public [en|dis]ableSwapping()
method know about threads. If that was the case, then restarting would
consist of starting, waiting for some form of notification that the
background task has completed, and then scheduling the enable task.
Now, it is a matter of calling both *SwappingSynchronous methods in
succession.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences