GitHub user Xuanwo edited a discussion: Remove blocking API entirely from `raw::Access`
OpenDAL supports both blocking and asynchronous APIs. However, over time, this design has created a significant maintenance burden. Few services truly have blocking API support, yet we all have to invest considerable effort in duplicating code throughout the project. Maybe it's time for us to remove blocking API entirely from `raw::Access`. And only keep `BlockingOperator` as a wrapper of `Operator`. After this change: - `raw::Access` will only have async API which can reduce a lot of duplicated code, especially in layers. - Existing API on `BlockingOperator` won't be affected. - `BlockingLayer` could be removed and related APIs been moved to `BlockingOperator` instead. Benefits: - OpenDAL's codebase can be reduced a lot, as all services and layers could cut the number of generated functions by half. - OpenDAL can accelerate development by eliminating the need to implement the save feature separately for both async and blocking modes. - OpenDAL can now provide tokio/monoiofs/compfs as alternaitve. GitHub link: https://github.com/apache/opendal/discussions/6126 ---- This is an automatically sent email for dev@opendal.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@opendal.apache.org