Skip to content

Replace SyncException with coroutine context #2056

@rfc2822

Description

@rfc2822

The SyncException wrap/unwrap logic was made when we didn't have coroutines (with coroutine context) yet and Apache Commons ExceptionContext (which we had before) hadn't provided enough flexibility anymore.

Since we want consequent coroutines for the sync algorithm anyway (see also #1808), we can probably use coroutine contexts to replace the whole SyncException logic.


We should also work in direction of refactoring the sync-algorithm into clear well-testable steps (which probably run in their own class, maybe like the operation pattern used for WebDAV). As a first step, we should get rid of the download queue that's managed within syncRemote (including the inline fun download).


#1808 should probably be done first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactoringInternal improvement of existing functionssyncRegarding core sync algorithm (Syncer/SyncManager, sync workers)

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions