Closed gammazero closed 3 years ago
Thank you for submitting this PR! A maintainer will be here shortly to review it. We are super grateful, but we are also overloaded! Help us by making sure that:
The context for this PR is clear, with relevant discussion, decisions and stakeholders linked/mentioned.
Your contribution itself is clear (code comments, self-review for the rest) and in its best form. Follow the code contribution guidelines if they apply.
Getting other community members to do a review would be great help too on complex PRs (you can ask in the chats/forums). If you are unsure about something, just leave us a comment. Next steps:
A maintainer will triage and assign priority to this PR, commenting on any missing things and potentially assigning a reviewer for high priority items.
The PR gets reviews, discussed and approvals as needed.
The PR is merged by maintainers when it has been approved and comments addressed.
We currently aim to provide initial feedback/triaging within two business days. Please keep an eye on any labelling actions, as these will indicate priorities and status of your contribution. We are very grateful for your contribution!
I am concerned about is that this PR makes breaking API changes. If that is going to be a problem, then I can make a smaller PR with just the fixes and TODO items, and save the API changes for when this moves to another repo.
Closing to save API changes for a later incarnation of mfs.
Stop storing context in structs, and instead pass a context as a function argument in the places where support for cancellation is needed.
Much of the functionality does not need to support cancelation, and even in some cases where a request may have been canceled, letting the function complete is preferable to avoid partial updates to MFS. Cancellation only remains in places where a caller may be waiting for a signal that something has completed.
This PR will replace #58
Part of the motivation for this PR is in preparation for moving this package into a new repo shared by
go-ipfs-files
andgo-unixfs
, so that fixes can be reviewed before placing files in a new repo. This PR can be canceled if a more complete rewrite is preferred to fixing the issues handled by this PR.