Skip to content

[Architecture] Responsability of download client adapters #592

@T4g1

Description

@T4g1

In the context of download client adapters, the responsibility of these are not clearly identified. As a result, implementing and maintaining those is risky as we do not know which information are required or not and what it should produce precisely.

We should investigate the current features and limitations of the existing adapters. Two existing concerns:

  • Adapters interface define two method to get informations about ongoing downloads: Only one of which seems to be used. We should commit to only one of those
  • When giving informations about download, adapters produces QueueItem that can support RemotePath, LocalPath, ContentPath and SourceFiles. All of those are nullable fields with no clear orientation of what should be produced. In recent discussions, we suggested that an adapter should have the responsibility of producing source files but we suspect that some of them will be unable to always produce that and can instead only give a remote path.

For this last issue, we want to explore the following solutions:

  • Either the remote path is given as ContentPath and SourceFiles is null, the download gateway is then responsible of mapping the path to local path and checking wether or not ContentPath is a file/directory and populate SourceFiles accordingly
  • Either we allow Adapter to map path and produce SourceFiles accordingly

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions