new feature: go binding provides context-based API
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Feature Description
golang uses `context` to propagate timeout and cancellation, I'm think all IO operation interfaces should take context as the first argument.
For now, I don't see timeout layer when we construct the operator in c-layer
https://github.com/apache/opendal/blob/320068740d3cc78bdcbc5cbc9ebe1b9901cbc1ca/bindings/c/src/operator.rs#L87
### Problem and Solution
N/A
### Additional Context
_No response_
### Are you willing to contribute to the development of this feature?
- [ ] Yes, I am willing to contribute to the development of this feature.
Contributor guide
Research direction
Start with bindings/c/src/operator.rs around the operator construction referenced in the issue, then inspect the Go binding's I/O interfaces and existing tests. Clarify which operations must accept context, how cancellation and timeouts cross the binding boundary, and define completion criteria before implementation; the issue currently provides no concrete solution or test locations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, rust
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100