Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copy API #52

Closed
Tracked by #49
shizhMSFT opened this issue Nov 17, 2021 · 0 comments · Fixed by #67
Closed
Tracked by #49

Copy API #52

shizhMSFT opened this issue Nov 17, 2021 · 0 comments · Fixed by #67
Assignees
Milestone

Comments

@shizhMSFT
Copy link
Contributor

Based on #50, the Copy API originated by #8 need to be re-implemented without containerd.

That is, we need our version of

  • images.Childen
  • images.Dispatch

Since we are implementing the images.Dispatch, we can optimize the graph traversal for our ORAS scenarios.

In fact, images.Dispatch is designed for trees not for DAGs. It is less inefficient if there are multiple nodes pointing to the same node. The pointed node might be transferred multiple times at the same time based on the concurrency level.

In the current code, we also implemented something equivalent to remotes.PushContent. Although the layers are transferred in parallel, the manifests are transferred in sequences. It might not be efficient if we want to copy a manifest list or index.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant