Create a separate class hierarchy for tasks used on the server (#1316)

This creates a separate and distinct task hierarchy (rooted on DBTask) for tasks used to reason server-side, and they take a WorkRequest as sole argument in the constructor.

It creates server-side wrappers for worker-side tasks, so that there can be delegation to worker-side task logic without needing to create a server-side version of each class.

The BaseTask hierarchy only deals with worker and signing tasks. The DBTask hierarchy has all server tasks, including workflows, plus proxies for worker and signing tasks.

The interfaces of BaseTask and DBTask are currently very similar, but the point of this split is to allow them to diverge as appropriate.

Edited by Colin Watson

Merge request reports

Loading