opendal 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Cargo.lock +89 -56
- data/Cargo.toml +1 -1
- data/DEPENDENCIES.rust.tsv +55 -41
- data/LICENSE +201 -0
- data/LICENSE-MPL-2.0.txt +373 -0
- data/NOTICE +5 -0
- data/core/CHANGELOG.md +175 -0
- data/core/Cargo.lock +225 -298
- data/core/Cargo.toml +100 -94
- data/core/DEPENDENCIES.rust.tsv +44 -73
- data/core/benches/metadata/README.md +21 -0
- data/core/benches/metadata/main.rs +541 -0
- data/core/benches/vs_fs/Cargo.toml +1 -1
- data/core/benches/vs_s3/Cargo.toml +1 -1
- data/core/core/Cargo.toml +7 -2
- data/core/core/src/blocking/delete.rs +5 -1
- data/core/core/src/blocking/operator.rs +12 -0
- data/core/core/src/blocking/read/std_reader.rs +25 -0
- data/core/core/src/docs/concepts.rs +70 -94
- data/core/core/src/docs/internals/accessor.rs +62 -293
- data/core/core/src/docs/internals/layer.rs +43 -59
- data/core/core/src/docs/internals/mod.rs +21 -23
- data/core/core/src/docs/mod.rs +10 -6
- data/core/core/src/docs/performance/concurrent_write.md +92 -55
- data/core/core/src/docs/performance/http_optimization.md +120 -104
- data/core/core/src/docs/performance/mod.rs +8 -6
- data/core/core/src/docs/rfcs/5485_conditional_reader.md +4 -0
- data/core/core/src/docs/rfcs/7182_restore_api.md +139 -557
- data/core/core/src/docs/rfcs/7945_limited_read.md +210 -0
- data/core/core/src/docs/rfcs/7948_s3_provider_presets.md +254 -0
- data/core/core/src/docs/rfcs/8109_writer_copy_from.md +330 -0
- data/core/core/src/docs/rfcs/8145_conflict_error_kind.md +210 -0
- data/core/core/src/docs/rfcs/8147_write_if_not_changed.md +233 -0
- data/core/core/src/docs/rfcs/8188_compose_api.md +292 -0
- data/core/core/src/docs/rfcs/8194_compact_metadata_and_operation_args.md +444 -0
- data/core/core/src/docs/rfcs/README.md +14 -3
- data/core/core/src/docs/rfcs/mod.rs +46 -22
- data/core/core/src/docs/specs/README.md +34 -0
- data/core/core/src/docs/specs/conditional-operations.md +156 -0
- data/core/core/src/docs/specs/metadata.md +63 -0
- data/core/core/src/docs/specs/mod.rs +26 -0
- data/core/core/src/docs/upgrade.md +114 -1
- data/core/core/src/layers/capability_override.rs +15 -2
- data/core/core/src/layers/complete.rs +347 -43
- data/core/core/src/layers/correctness_check.rs +718 -51
- data/core/core/src/layers/error_context.rs +76 -2
- data/core/core/src/layers/simulate.rs +91 -28
- data/core/core/src/lib.rs +1 -0
- data/core/core/src/raw/accessor.rs +91 -15
- data/core/core/src/raw/enum_utils.rs +7 -0
- data/core/core/src/raw/http_util/header.rs +22 -17
- data/core/core/src/raw/oio/compose/api.rs +92 -0
- data/core/core/src/raw/oio/compose/mod.rs +19 -0
- data/core/core/src/raw/oio/copy/api.rs +3 -3
- data/core/core/src/raw/oio/copy/block_copy.rs +32 -4
- data/core/core/src/raw/oio/copy/multipart_copy.rs +36 -7
- data/core/core/src/raw/oio/entry.rs +48 -22
- data/core/core/src/raw/oio/list/flat_list.rs +1 -1
- data/core/core/src/raw/oio/list/hierarchy_list.rs +3 -2
- data/core/core/src/raw/oio/mod.rs +3 -0
- data/core/core/src/raw/oio/read/position_read.rs +1 -1
- data/core/core/src/raw/oio/write/api.rs +40 -0
- data/core/core/src/raw/oio/write/append_write.rs +4 -4
- data/core/core/src/raw/oio/write/block_write.rs +2 -2
- data/core/core/src/raw/oio/write/multipart_write.rs +181 -48
- data/core/core/src/raw/oio/write/position_write.rs +1 -1
- data/core/core/src/raw/operation.rs +6 -0
- data/core/core/src/raw/ops.rs +1191 -456
- data/core/core/src/raw/rps.rs +11 -0
- data/core/core/src/raw/time.rs +14 -3
- data/core/core/src/services/memory/backend.rs +5 -10
- data/core/core/src/services/memory/lister.rs +4 -4
- data/core/core/src/services/memory/writer.rs +7 -6
- data/core/core/src/types/buffer.rs +102 -12
- data/core/core/src/types/bytes_range.rs +20 -1
- data/core/core/src/types/capability.rs +65 -0
- data/core/core/src/types/compact.rs +329 -0
- data/core/core/src/types/compose/composer.rs +183 -0
- data/core/core/src/types/compose/input.rs +57 -0
- data/core/core/src/types/compose/mod.rs +23 -0
- data/core/core/src/types/context/read.rs +16 -11
- data/core/core/src/types/context/write.rs +150 -2
- data/core/core/src/types/copy.rs +5 -3
- data/core/core/src/types/delete/deleter.rs +20 -12
- data/core/core/src/types/delete/input.rs +22 -64
- data/core/core/src/types/delete/mod.rs +0 -1
- data/core/core/src/types/entry.rs +8 -14
- data/core/core/src/types/error.rs +28 -11
- data/core/core/src/types/metadata.rs +709 -322
- data/core/core/src/types/mod.rs +9 -1
- data/core/core/src/types/operator/operator.rs +278 -29
- data/core/core/src/types/operator/operator_futures.rs +466 -105
- data/core/core/src/types/options.rs +631 -158
- data/core/core/src/types/read/futures_async_reader.rs +663 -50
- data/core/core/src/types/read/reader.rs +23 -5
- data/core/core/src/types/write/futures_async_writer.rs +27 -0
- data/core/core/src/types/write/writer.rs +47 -5
- data/core/http-transports/reqwest/Cargo.toml +1 -1
- data/core/layers/async-backtrace/Cargo.toml +2 -2
- data/core/layers/async-backtrace/src/lib.rs +21 -2
- data/core/layers/await-tree/Cargo.toml +2 -2
- data/core/layers/await-tree/src/lib.rs +25 -2
- data/core/layers/capability-check/Cargo.toml +2 -2
- data/core/layers/capability-check/src/lib.rs +98 -10
- data/core/layers/chaos/Cargo.toml +2 -2
- data/core/layers/chaos/src/lib.rs +18 -3
- data/core/layers/concurrent-limit/Cargo.toml +3 -3
- data/core/layers/concurrent-limit/src/lib.rs +53 -13
- data/core/layers/dtrace/Cargo.toml +2 -2
- data/core/layers/dtrace/src/lib.rs +29 -2
- data/core/layers/fastmetrics/Cargo.toml +3 -3
- data/core/layers/fastrace/Cargo.toml +2 -2
- data/core/layers/fastrace/src/lib.rs +28 -2
- data/core/layers/foyer/Cargo.toml +2 -2
- data/core/layers/foyer/src/full.rs +16 -19
- data/core/layers/foyer/src/lib.rs +67 -14
- data/core/layers/hotpath/Cargo.toml +2 -2
- data/core/layers/hotpath/src/lib.rs +20 -2
- data/core/layers/immutable-index/Cargo.toml +2 -2
- data/core/layers/immutable-index/src/lib.rs +48 -24
- data/core/layers/logging/Cargo.toml +2 -2
- data/core/layers/logging/src/lib.rs +46 -2
- data/core/layers/metrics/Cargo.toml +3 -3
- data/core/layers/mime-guess/Cargo.toml +2 -2
- data/core/layers/mime-guess/src/lib.rs +31 -4
- data/core/layers/observe-metrics-common/Cargo.toml +2 -2
- data/core/layers/observe-metrics-common/src/lib.rs +55 -2
- data/core/layers/otelmetrics/Cargo.toml +3 -3
- data/core/layers/oteltrace/Cargo.toml +2 -2
- data/core/layers/oteltrace/src/lib.rs +27 -2
- data/core/layers/prometheus/Cargo.toml +3 -3
- data/core/layers/prometheus-client/Cargo.toml +3 -3
- data/core/layers/retry/Cargo.toml +4 -4
- data/core/layers/retry/src/lib.rs +76 -19
- data/core/layers/route/Cargo.toml +3 -3
- data/core/layers/route/src/lib.rs +34 -7
- data/core/layers/tail-cut/Cargo.toml +2 -2
- data/core/layers/tail-cut/src/lib.rs +28 -2
- data/core/layers/throttle/Cargo.toml +2 -2
- data/core/layers/throttle/src/lib.rs +19 -2
- data/core/layers/timeout/Cargo.toml +3 -3
- data/core/layers/timeout/src/lib.rs +38 -13
- data/core/layers/tracing/Cargo.toml +2 -2
- data/core/layers/tracing/src/lib.rs +24 -3
- data/core/services/aliyun-drive/Cargo.toml +2 -2
- data/core/services/aliyun-drive/src/backend.rs +34 -24
- data/core/services/aliyun-drive/src/core.rs +143 -54
- data/core/services/aliyun-drive/src/lister.rs +19 -18
- data/core/services/aliyun-drive/src/reader.rs +4 -1
- data/core/services/aliyun-drive/src/writer.rs +3 -3
- data/core/services/alluxio/Cargo.toml +1 -1
- data/core/services/alluxio/src/backend.rs +1 -1
- data/core/services/alluxio/src/core.rs +113 -94
- data/core/services/alluxio/src/reader.rs +7 -3
- data/core/services/alluxio/src/writer.rs +2 -2
- data/core/services/azblob/Cargo.toml +2 -2
- data/core/services/azblob/src/backend.rs +17 -9
- data/core/services/azblob/src/copier.rs +41 -15
- data/core/services/azblob/src/core.rs +372 -135
- data/core/services/azblob/src/deleter.rs +41 -18
- data/core/services/azblob/src/lister.rs +16 -10
- data/core/services/azblob/src/reader.rs +4 -1
- data/core/services/azblob/src/writer.rs +48 -15
- data/core/services/azdls/Cargo.toml +3 -3
- data/core/services/azdls/src/backend.rs +45 -15
- data/core/services/azdls/src/config.rs +4 -1
- data/core/services/azdls/src/core.rs +276 -87
- data/core/services/azdls/src/deleter.rs +13 -4
- data/core/services/azdls/src/lister.rs +18 -12
- data/core/services/azdls/src/reader.rs +6 -2
- data/core/services/azdls/src/writer.rs +44 -23
- data/core/services/azfile/Cargo.toml +2 -2
- data/core/services/azfile/src/backend.rs +24 -8
- data/core/services/azfile/src/core.rs +195 -77
- data/core/services/azfile/src/deleter.rs +8 -1
- data/core/services/azfile/src/lister.rs +20 -14
- data/core/services/azfile/src/reader.rs +5 -2
- data/core/services/azfile/src/writer.rs +27 -15
- data/core/services/azure-common/Cargo.toml +1 -1
- data/core/services/b2/Cargo.toml +2 -2
- data/core/services/b2/src/backend.rs +30 -11
- data/core/services/b2/src/core.rs +134 -120
- data/core/services/b2/src/deleter.rs +1 -1
- data/core/services/b2/src/lister.rs +5 -2
- data/core/services/b2/src/reader.rs +5 -2
- data/core/services/b2/src/writer.rs +29 -12
- data/core/services/cacache/Cargo.toml +1 -1
- data/core/services/cacache/src/backend.rs +4 -5
- data/core/services/cacache/src/reader.rs +4 -1
- data/core/services/cacache/src/writer.rs +6 -2
- data/core/services/cloudflare-kv/Cargo.toml +1 -1
- data/core/services/cloudflare-kv/src/backend.rs +26 -15
- data/core/services/cloudflare-kv/src/config.rs +13 -2
- data/core/services/cloudflare-kv/src/core.rs +62 -56
- data/core/services/cloudflare-kv/src/deleter.rs +12 -3
- data/core/services/cloudflare-kv/src/lister.rs +66 -17
- data/core/services/cloudflare-kv/src/reader.rs +14 -9
- data/core/services/cloudflare-kv/src/writer.rs +10 -7
- data/core/services/compfs/Cargo.toml +1 -1
- data/core/services/compfs/src/backend.rs +11 -7
- data/core/services/compfs/src/lister.rs +7 -7
- data/core/services/compfs/src/writer.rs +1 -1
- data/core/services/cos/Cargo.toml +1 -1
- data/core/services/cos/src/backend.rs +129 -16
- data/core/services/cos/src/core.rs +198 -80
- data/core/services/cos/src/deleter.rs +4 -1
- data/core/services/cos/src/lister.rs +42 -27
- data/core/services/cos/src/reader.rs +6 -2
- data/core/services/cos/src/writer.rs +45 -21
- data/core/services/d1/Cargo.toml +1 -1
- data/core/services/d1/src/backend.rs +6 -5
- data/core/services/d1/src/core.rs +79 -63
- data/core/services/d1/src/reader.rs +4 -1
- data/core/services/d1/src/writer.rs +6 -2
- data/core/services/dashmap/Cargo.toml +1 -1
- data/core/services/dashmap/src/backend.rs +2 -2
- data/core/services/dashmap/src/reader.rs +4 -1
- data/core/services/dashmap/src/writer.rs +11 -8
- data/core/services/dbfs/Cargo.toml +1 -1
- data/core/services/dbfs/src/backend.rs +21 -15
- data/core/services/dbfs/src/core.rs +65 -60
- data/core/services/dbfs/src/deleter.rs +4 -1
- data/core/services/dbfs/src/lister.rs +10 -10
- data/core/services/dbfs/src/writer.rs +6 -3
- data/core/services/dropbox/Cargo.toml +2 -2
- data/core/services/dropbox/src/backend.rs +30 -23
- data/core/services/dropbox/src/core.rs +65 -63
- data/core/services/dropbox/src/deleter.rs +1 -1
- data/core/services/dropbox/src/lister.rs +17 -8
- data/core/services/dropbox/src/reader.rs +4 -1
- data/core/services/dropbox/src/writer.rs +13 -10
- data/core/services/etcd/Cargo.toml +1 -1
- data/core/services/etcd/src/backend.rs +8 -5
- data/core/services/etcd/src/core.rs +5 -11
- data/core/services/etcd/src/lister.rs +6 -1
- data/core/services/etcd/src/reader.rs +4 -1
- data/core/services/etcd/src/writer.rs +6 -3
- data/core/services/foundationdb/Cargo.toml +1 -1
- data/core/services/foundationdb/src/backend.rs +6 -5
- data/core/services/foundationdb/src/reader.rs +4 -1
- data/core/services/foundationdb/src/writer.rs +6 -2
- data/core/services/foyer/Cargo.toml +3 -3
- data/core/services/foyer/src/backend.rs +6 -5
- data/core/services/foyer/src/reader.rs +4 -1
- data/core/services/foyer/src/writer.rs +6 -2
- data/core/services/fs/Cargo.toml +1 -1
- data/core/services/fs/src/backend.rs +4 -3
- data/core/services/fs/src/core.rs +44 -26
- data/core/services/fs/src/lister.rs +9 -6
- data/core/services/fs/src/writer.rs +20 -13
- data/core/services/ftp/Cargo.toml +4 -6
- data/core/services/ftp/src/backend.rs +9 -5
- data/core/services/ftp/src/core.rs +9 -7
- data/core/services/ftp/src/lister.rs +7 -8
- data/core/services/ftp/src/reader.rs +3 -3
- data/core/services/ftp/src/writer.rs +3 -3
- data/core/services/gcs/Cargo.toml +4 -2
- data/core/services/gcs/src/backend.rs +53 -7
- data/core/services/gcs/src/composer.rs +705 -0
- data/core/services/gcs/src/copier.rs +14 -4
- data/core/services/gcs/src/core.rs +828 -124
- data/core/services/gcs/src/deleter.rs +33 -18
- data/core/services/gcs/src/lib.rs +1 -0
- data/core/services/gcs/src/lister.rs +21 -12
- data/core/services/gcs/src/reader.rs +12 -5
- data/core/services/gcs/src/writer.rs +632 -10
- data/core/services/gcs-grpc/Cargo.toml +58 -0
- data/core/services/gcs-grpc/README.md +19 -0
- data/core/services/gcs-grpc/proto/README.md +23 -0
- data/core/services/gcs-grpc/proto/google/storage/v2/storage.proto +171 -0
- data/core/services/gcs-grpc/proto/upstream-descriptor.bin +0 -0
- data/core/services/gcs-grpc/src/backend.rs +449 -0
- data/core/services/gcs-grpc/src/config.rs +116 -0
- data/core/services/gcs-grpc/src/copier.rs +98 -0
- data/core/services/gcs-grpc/src/core.rs +298 -0
- data/core/services/gcs-grpc/src/deleter.rs +65 -0
- data/core/services/gcs-grpc/src/docs.md +19 -0
- data/core/services/gcs-grpc/src/generated/google.storage.v2.rs +541 -0
- data/core/services/gcs-grpc/src/generated/mod.rs +24 -0
- data/core/services/gcs-grpc/src/lib.rs +43 -0
- data/core/services/gcs-grpc/src/lister.rs +125 -0
- data/core/services/gcs-grpc/src/reader.rs +140 -0
- data/core/services/gcs-grpc/src/writer.rs +780 -0
- data/core/services/gdrive/Cargo.toml +2 -2
- data/core/services/gdrive/src/backend.rs +123 -69
- data/core/services/gdrive/src/core.rs +87 -69
- data/core/services/gdrive/src/deleter.rs +8 -2
- data/core/services/gdrive/src/lister.rs +38 -26
- data/core/services/gdrive/src/path_index.rs +2 -2
- data/core/services/gdrive/src/reader.rs +9 -3
- data/core/services/gdrive/src/writer.rs +13 -7
- data/core/services/ghac/Cargo.toml +2 -2
- data/core/services/ghac/src/backend.rs +5 -2
- data/core/services/ghac/src/core.rs +59 -37
- data/core/services/ghac/src/reader.rs +5 -2
- data/core/services/ghac/src/writer.rs +16 -6
- data/core/services/github/Cargo.toml +1 -1
- data/core/services/github/src/backend.rs +16 -8
- data/core/services/github/src/core.rs +88 -76
- data/core/services/github/src/lister.rs +17 -15
- data/core/services/github/src/reader.rs +5 -2
- data/core/services/github/src/writer.rs +12 -6
- data/core/services/goosefs/Cargo.toml +2 -2
- data/core/services/goosefs/src/backend.rs +2 -2
- data/core/services/goosefs/src/core.rs +291 -208
- data/core/services/goosefs/src/docs.md +3 -0
- data/core/services/goosefs/src/lister.rs +2 -3
- data/core/services/goosefs/src/reader.rs +7 -3
- data/core/services/goosefs/src/writer.rs +21 -10
- data/core/services/goosefs/tests/safe_conditional_put.rs +37 -0
- data/core/services/gridfs/Cargo.toml +2 -2
- data/core/services/gridfs/src/backend.rs +12 -8
- data/core/services/gridfs/src/core.rs +1 -1
- data/core/services/gridfs/src/reader.rs +4 -1
- data/core/services/gridfs/src/writer.rs +6 -2
- data/core/services/hdfs/Cargo.toml +1 -1
- data/core/services/hdfs/src/backend.rs +1 -1
- data/core/services/hdfs/src/core.rs +7 -4
- data/core/services/hdfs/src/lister.rs +7 -9
- data/core/services/hdfs/src/writer.rs +5 -1
- data/core/services/hdfs-native/Cargo.toml +1 -1
- data/core/services/hdfs-native/src/backend.rs +1 -1
- data/core/services/hdfs-native/src/core.rs +44 -50
- data/core/services/hdfs-native/src/lister.rs +8 -10
- data/core/services/hdfs-native/src/writer.rs +5 -1
- data/core/services/hf/Cargo.toml +4 -3
- data/core/services/hf/src/backend.rs +4 -3
- data/core/services/hf/src/core.rs +907 -153
- data/core/services/hf/src/lister.rs +16 -6
- data/core/services/hf/src/reader.rs +377 -57
- data/core/services/hf/src/writer.rs +6 -2
- data/core/services/http/Cargo.toml +3 -3
- data/core/services/http/src/backend.rs +8 -6
- data/core/services/http/src/core.rs +57 -35
- data/core/services/http/src/reader.rs +5 -2
- data/core/services/ipfs/Cargo.toml +1 -1
- data/core/services/ipfs/src/backend.rs +20 -9
- data/core/services/ipfs/src/core.rs +43 -34
- data/core/services/ipfs/src/reader.rs +5 -2
- data/core/services/ipmfs/Cargo.toml +1 -1
- data/core/services/ipmfs/src/backend.rs +17 -8
- data/core/services/ipmfs/src/core.rs +66 -60
- data/core/services/ipmfs/src/deleter.rs +5 -2
- data/core/services/ipmfs/src/lister.rs +15 -12
- data/core/services/ipmfs/src/reader.rs +5 -2
- data/core/services/ipmfs/src/writer.rs +6 -3
- data/core/services/koofr/Cargo.toml +2 -2
- data/core/services/koofr/src/backend.rs +46 -17
- data/core/services/koofr/src/core.rs +64 -48
- data/core/services/koofr/src/deleter.rs +4 -1
- data/core/services/koofr/src/lister.rs +11 -10
- data/core/services/koofr/src/reader.rs +5 -2
- data/core/services/koofr/src/writer.rs +13 -7
- data/core/services/lakefs/Cargo.toml +1 -1
- data/core/services/lakefs/src/backend.rs +25 -8
- data/core/services/lakefs/src/core.rs +79 -73
- data/core/services/lakefs/src/deleter.rs +4 -1
- data/core/services/lakefs/src/lister.rs +17 -14
- data/core/services/lakefs/src/reader.rs +5 -2
- data/core/services/lakefs/src/writer.rs +11 -10
- data/core/services/memcached/Cargo.toml +1 -1
- data/core/services/memcached/src/backend.rs +57 -7
- data/core/services/memcached/src/config.rs +13 -2
- data/core/services/memcached/src/core.rs +11 -1
- data/core/services/memcached/src/reader.rs +4 -1
- data/core/services/memcached/src/writer.rs +6 -2
- data/core/services/mini_moka/Cargo.toml +1 -1
- data/core/services/mini_moka/src/backend.rs +8 -8
- data/core/services/mini_moka/src/reader.rs +4 -1
- data/core/services/mini_moka/src/writer.rs +11 -7
- data/core/services/moka/Cargo.toml +1 -1
- data/core/services/moka/src/backend.rs +7 -7
- data/core/services/moka/src/reader.rs +4 -1
- data/core/services/moka/src/writer.rs +10 -6
- data/core/services/mongodb/Cargo.toml +2 -2
- data/core/services/mongodb/src/backend.rs +7 -6
- data/core/services/mongodb/src/core.rs +1 -1
- data/core/services/mongodb/src/reader.rs +4 -1
- data/core/services/mongodb/src/writer.rs +6 -2
- data/core/services/monoiofs/Cargo.toml +2 -2
- data/core/services/monoiofs/src/backend.rs +16 -10
- data/core/services/monoiofs/src/core.rs +8 -9
- data/core/services/monoiofs/src/reader.rs +8 -10
- data/core/services/monoiofs/src/writer.rs +19 -24
- data/core/services/mysql/Cargo.toml +2 -2
- data/core/services/mysql/src/backend.rs +7 -6
- data/core/services/mysql/src/core.rs +1 -1
- data/core/services/mysql/src/lister.rs +7 -3
- data/core/services/mysql/src/reader.rs +4 -1
- data/core/services/mysql/src/writer.rs +6 -2
- data/core/services/obs/Cargo.toml +1 -1
- data/core/services/obs/src/backend.rs +29 -11
- data/core/services/obs/src/core.rs +81 -82
- data/core/services/obs/src/deleter.rs +4 -1
- data/core/services/obs/src/lister.rs +12 -5
- data/core/services/obs/src/reader.rs +5 -2
- data/core/services/obs/src/writer.rs +40 -19
- data/core/services/onedrive/Cargo.toml +2 -2
- data/core/services/onedrive/src/backend.rs +30 -21
- data/core/services/onedrive/src/config.rs +2 -2
- data/core/services/onedrive/src/core.rs +191 -90
- data/core/services/onedrive/src/deleter.rs +5 -2
- data/core/services/onedrive/src/graph_model.rs +10 -51
- data/core/services/onedrive/src/lister.rs +60 -24
- data/core/services/onedrive/src/reader.rs +17 -2
- data/core/services/onedrive/src/writer.rs +26 -15
- data/core/services/opfs/Cargo.toml +1 -1
- data/core/services/opfs/src/backend.rs +6 -13
- data/core/services/opfs/src/core.rs +33 -37
- data/core/services/opfs/src/lister.rs +4 -4
- data/core/services/opfs/src/writer.rs +1 -3
- data/core/services/oss/Cargo.toml +1 -1
- data/core/services/oss/src/backend.rs +40 -8
- data/core/services/oss/src/core.rs +192 -92
- data/core/services/oss/src/deleter.rs +16 -6
- data/core/services/oss/src/lister.rs +43 -27
- data/core/services/oss/src/reader.rs +6 -2
- data/core/services/oss/src/writer.rs +40 -22
- data/core/services/pcloud/Cargo.toml +1 -1
- data/core/services/pcloud/src/backend.rs +40 -6
- data/core/services/pcloud/src/core.rs +80 -66
- data/core/services/pcloud/src/deleter.rs +8 -1
- data/core/services/pcloud/src/lister.rs +4 -1
- data/core/services/pcloud/src/reader.rs +5 -2
- data/core/services/pcloud/src/writer.rs +6 -3
- data/core/services/persy/Cargo.toml +1 -1
- data/core/services/persy/src/backend.rs +6 -5
- data/core/services/persy/src/core.rs +60 -15
- data/core/services/persy/src/reader.rs +4 -1
- data/core/services/persy/src/writer.rs +6 -2
- data/core/services/postgresql/Cargo.toml +2 -2
- data/core/services/postgresql/src/backend.rs +7 -6
- data/core/services/postgresql/src/core.rs +1 -1
- data/core/services/postgresql/src/reader.rs +4 -1
- data/core/services/postgresql/src/writer.rs +6 -2
- data/core/services/redb/Cargo.toml +1 -1
- data/core/services/redb/src/backend.rs +6 -5
- data/core/services/redb/src/reader.rs +4 -1
- data/core/services/redb/src/writer.rs +6 -2
- data/core/services/redis/Cargo.toml +1 -1
- data/core/services/redis/src/backend.rs +18 -8
- data/core/services/redis/src/config.rs +13 -2
- data/core/services/redis/src/reader.rs +8 -4
- data/core/services/redis/src/writer.rs +6 -2
- data/core/services/rocksdb/Cargo.toml +1 -1
- data/core/services/rocksdb/src/backend.rs +6 -5
- data/core/services/rocksdb/src/lister.rs +6 -5
- data/core/services/rocksdb/src/reader.rs +4 -1
- data/core/services/rocksdb/src/writer.rs +6 -2
- data/core/services/s3/Cargo.toml +5 -4
- data/core/services/s3/src/backend.rs +995 -39
- data/core/services/s3/src/compatible_services.md +57 -0
- data/core/services/s3/src/config.rs +16 -0
- data/core/services/s3/src/copier.rs +190 -55
- data/core/services/s3/src/core.rs +299 -190
- data/core/services/s3/src/deleter.rs +26 -7
- data/core/services/s3/src/docs.md +57 -0
- data/core/services/s3/src/lister.rs +55 -36
- data/core/services/s3/src/reader.rs +22 -2
- data/core/services/s3/src/writer.rs +154 -32
- data/core/services/seafile/Cargo.toml +2 -2
- data/core/services/seafile/src/backend.rs +3 -3
- data/core/services/seafile/src/core.rs +105 -79
- data/core/services/seafile/src/lister.rs +11 -8
- data/core/services/seafile/src/reader.rs +5 -2
- data/core/services/seafile/src/writer.rs +6 -3
- data/core/services/sftp/Cargo.toml +1 -1
- data/core/services/sftp/src/backend.rs +19 -4
- data/core/services/sftp/src/core.rs +51 -46
- data/core/services/sftp/src/lister.rs +4 -4
- data/core/services/sftp/src/writer.rs +1 -1
- data/core/services/sled/Cargo.toml +1 -1
- data/core/services/sled/src/backend.rs +6 -5
- data/core/services/sled/src/core.rs +28 -6
- data/core/services/sled/src/lister.rs +6 -5
- data/core/services/sled/src/reader.rs +4 -1
- data/core/services/sled/src/writer.rs +6 -2
- data/core/services/sqlite/Cargo.toml +2 -2
- data/core/services/sqlite/src/backend.rs +12 -7
- data/core/services/sqlite/src/core.rs +3 -3
- data/core/services/sqlite/src/reader.rs +4 -1
- data/core/services/sqlite/src/writer.rs +7 -3
- data/core/services/surrealdb/Cargo.toml +2 -2
- data/core/services/surrealdb/src/backend.rs +7 -6
- data/core/services/surrealdb/src/core.rs +1 -1
- data/core/services/surrealdb/src/reader.rs +4 -1
- data/core/services/surrealdb/src/writer.rs +6 -2
- data/core/services/swift/Cargo.toml +1 -1
- data/core/services/swift/src/backend.rs +38 -8
- data/core/services/swift/src/core.rs +63 -67
- data/core/services/swift/src/deleter.rs +8 -2
- data/core/services/swift/src/lister.rs +11 -8
- data/core/services/swift/src/reader.rs +5 -2
- data/core/services/swift/src/writer.rs +17 -8
- data/core/services/tikv/Cargo.toml +2 -2
- data/core/services/tikv/src/backend.rs +7 -6
- data/core/services/tikv/src/core.rs +31 -14
- data/core/services/tikv/src/reader.rs +4 -1
- data/core/services/tikv/src/writer.rs +6 -2
- data/core/services/tos/Cargo.toml +2 -2
- data/core/services/tos/src/backend.rs +45 -21
- data/core/services/tos/src/copier.rs +44 -17
- data/core/services/tos/src/core.rs +147 -117
- data/core/services/tos/src/deleter.rs +9 -3
- data/core/services/tos/src/docs.md +1 -1
- data/core/services/tos/src/lister.rs +43 -28
- data/core/services/tos/src/reader.rs +5 -2
- data/core/services/tos/src/writer.rs +37 -16
- data/core/services/upyun/Cargo.toml +1 -1
- data/core/services/upyun/src/backend.rs +30 -7
- data/core/services/upyun/src/core.rs +122 -87
- data/core/services/upyun/src/deleter.rs +4 -1
- data/core/services/upyun/src/lister.rs +10 -10
- data/core/services/upyun/src/reader.rs +5 -2
- data/core/services/upyun/src/writer.rs +19 -7
- data/core/services/vercel-artifacts/Cargo.toml +1 -1
- data/core/services/vercel-artifacts/src/backend.rs +6 -3
- data/core/services/vercel-artifacts/src/core.rs +32 -27
- data/core/services/vercel-artifacts/src/reader.rs +5 -2
- data/core/services/vercel-artifacts/src/writer.rs +6 -3
- data/core/services/vercel-blob/Cargo.toml +1 -1
- data/core/services/vercel-blob/src/backend.rs +23 -6
- data/core/services/vercel-blob/src/core.rs +92 -81
- data/core/services/vercel-blob/src/lister.rs +12 -3
- data/core/services/vercel-blob/src/reader.rs +5 -2
- data/core/services/vercel-blob/src/writer.rs +19 -7
- data/core/services/webdav/Cargo.toml +2 -2
- data/core/services/webdav/src/backend.rs +25 -5
- data/core/services/webdav/src/core.rs +116 -59
- data/core/services/webdav/src/deleter.rs +4 -1
- data/core/services/webdav/src/lister.rs +4 -1
- data/core/services/webdav/src/reader.rs +6 -2
- data/core/services/webdav/src/writer.rs +17 -7
- data/core/services/webhdfs/Cargo.toml +2 -2
- data/core/services/webhdfs/src/backend.rs +24 -11
- data/core/services/webhdfs/src/core.rs +99 -98
- data/core/services/webhdfs/src/deleter.rs +5 -2
- data/core/services/webhdfs/src/lister.rs +21 -9
- data/core/services/webhdfs/src/reader.rs +5 -2
- data/core/services/webhdfs/src/writer.rs +49 -14
- data/core/services/yandex-disk/Cargo.toml +1 -1
- data/core/services/yandex-disk/src/backend.rs +28 -6
- data/core/services/yandex-disk/src/core.rs +97 -79
- data/core/services/yandex-disk/src/deleter.rs +4 -1
- data/core/services/yandex-disk/src/lister.rs +25 -9
- data/core/services/yandex-disk/src/reader.rs +5 -2
- data/core/services/yandex-disk/src/writer.rs +6 -3
- data/core/src/lib.rs +5 -0
- data/core/testkit/Cargo.toml +4 -4
- data/core/testkit/src/utils.rs +53 -8
- data/core/tests/behavior/async_compose.rs +297 -0
- data/core/tests/behavior/async_copy.rs +162 -1
- data/core/tests/behavior/async_delete.rs +364 -3
- data/core/tests/behavior/async_read.rs +86 -0
- data/core/tests/behavior/async_restore.rs +162 -0
- data/core/tests/behavior/async_stat.rs +90 -0
- data/core/tests/behavior/async_write.rs +330 -2
- data/core/tests/behavior/main.rs +4 -0
- data/core/upgrade.md +114 -1
- data/src/capability.rs +0 -1
- data/src/io.rs +0 -1
- data/src/lister.rs +0 -1
- data/src/metadata.rs +0 -1
- data/src/operator_info.rs +0 -1
- metadata +44 -2
data/core/Cargo.toml
CHANGED
|
@@ -39,9 +39,10 @@ homepage = "https://opendal.apache.org/"
|
|
|
39
39
|
license = "Apache-2.0"
|
|
40
40
|
repository = "https://github.com/apache/opendal"
|
|
41
41
|
rust-version = "1.91"
|
|
42
|
-
version = "0.
|
|
42
|
+
version = "0.59.0"
|
|
43
43
|
|
|
44
44
|
[workspace.dependencies]
|
|
45
|
+
asyncband = { version = "0.6" }
|
|
45
46
|
base64 = "0.23"
|
|
46
47
|
bytes = "1.10"
|
|
47
48
|
ctor = "1.0.7"
|
|
@@ -49,7 +50,6 @@ futures = { version = "0.3", default-features = false }
|
|
|
49
50
|
http = "1.4"
|
|
50
51
|
log = { version = "0.4.32" }
|
|
51
52
|
logforth = { version = "0.30.1", features = ["starter-log"] }
|
|
52
|
-
mea = "0.6"
|
|
53
53
|
quick-xml = { version = "0.41.0", default-features = false }
|
|
54
54
|
rand = "0.10.1"
|
|
55
55
|
serde = { version = "1", default-features = false }
|
|
@@ -168,6 +168,7 @@ services-foyer = ["dep:opendal-service-foyer"]
|
|
|
168
168
|
services-fs = ["dep:opendal-service-fs"]
|
|
169
169
|
services-ftp = ["dep:opendal-service-ftp"]
|
|
170
170
|
services-gcs = ["dep:opendal-service-gcs"]
|
|
171
|
+
services-gcs-grpc = ["dep:opendal-service-gcs-grpc"]
|
|
171
172
|
services-gdrive = ["dep:opendal-service-gdrive"]
|
|
172
173
|
services-ghac = ["dep:opendal-service-ghac"]
|
|
173
174
|
services-github = ["dep:opendal-service-github"]
|
|
@@ -233,6 +234,10 @@ required-features = ["tests"]
|
|
|
233
234
|
harness = false
|
|
234
235
|
name = "types"
|
|
235
236
|
|
|
237
|
+
[[bench]]
|
|
238
|
+
harness = false
|
|
239
|
+
name = "metadata"
|
|
240
|
+
|
|
236
241
|
[[test]]
|
|
237
242
|
harness = false
|
|
238
243
|
name = "behavior"
|
|
@@ -241,102 +246,103 @@ required-features = ["tests"]
|
|
|
241
246
|
|
|
242
247
|
[dependencies]
|
|
243
248
|
ctor = { workspace = true, optional = true }
|
|
244
|
-
opendal-core = { path = "core", version = "0.
|
|
245
|
-
opendal-http-transport-reqwest = { path = "http-transports/reqwest", version = "0.
|
|
246
|
-
opendal-layer-async-backtrace = { path = "layers/async-backtrace", version = "0.
|
|
247
|
-
opendal-layer-await-tree = { path = "layers/await-tree", version = "0.
|
|
248
|
-
opendal-layer-capability-check = { path = "layers/capability-check", version = "0.
|
|
249
|
-
opendal-layer-chaos = { path = "layers/chaos", version = "0.
|
|
250
|
-
opendal-layer-concurrent-limit = { path = "layers/concurrent-limit", version = "0.
|
|
251
|
-
opendal-layer-fastmetrics = { path = "layers/fastmetrics", version = "0.
|
|
252
|
-
opendal-layer-fastrace = { path = "layers/fastrace", version = "0.
|
|
253
|
-
opendal-layer-foyer = { path = "layers/foyer", version = "0.
|
|
254
|
-
opendal-layer-hotpath = { path = "layers/hotpath", version = "0.
|
|
255
|
-
opendal-layer-immutable-index = { path = "layers/immutable-index", version = "0.
|
|
256
|
-
opendal-layer-logging = { path = "layers/logging", version = "0.
|
|
257
|
-
opendal-layer-metrics = { path = "layers/metrics", version = "0.
|
|
258
|
-
opendal-layer-mime-guess = { path = "layers/mime-guess", version = "0.
|
|
259
|
-
opendal-layer-observe-metrics-common = { path = "layers/observe-metrics-common", version = "0.
|
|
260
|
-
opendal-layer-otelmetrics = { path = "layers/otelmetrics", version = "0.
|
|
261
|
-
opendal-layer-oteltrace = { path = "layers/oteltrace", version = "0.
|
|
262
|
-
opendal-layer-prometheus = { path = "layers/prometheus", version = "0.
|
|
263
|
-
opendal-layer-prometheus-client = { path = "layers/prometheus-client", version = "0.
|
|
264
|
-
opendal-layer-retry = { path = "layers/retry", version = "0.
|
|
265
|
-
opendal-layer-route = { path = "layers/route", version = "0.
|
|
266
|
-
opendal-layer-tail-cut = { path = "layers/tail-cut", version = "0.
|
|
267
|
-
opendal-layer-throttle = { path = "layers/throttle", version = "0.
|
|
268
|
-
opendal-layer-timeout = { path = "layers/timeout", version = "0.
|
|
269
|
-
opendal-layer-tracing = { path = "layers/tracing", version = "0.
|
|
270
|
-
opendal-service-aliyun-drive = { path = "services/aliyun-drive", version = "0.
|
|
271
|
-
opendal-service-alluxio = { path = "services/alluxio", version = "0.
|
|
272
|
-
opendal-service-azblob = { path = "services/azblob", version = "0.
|
|
273
|
-
opendal-service-azdls = { path = "services/azdls", version = "0.
|
|
274
|
-
opendal-service-azfile = { path = "services/azfile", version = "0.
|
|
275
|
-
opendal-service-b2 = { path = "services/b2", version = "0.
|
|
276
|
-
opendal-service-cacache = { path = "services/cacache", version = "0.
|
|
277
|
-
opendal-service-cloudflare-kv = { path = "services/cloudflare-kv", version = "0.
|
|
278
|
-
opendal-service-compfs = { path = "services/compfs", version = "0.
|
|
279
|
-
opendal-service-cos = { path = "services/cos", version = "0.
|
|
280
|
-
opendal-service-d1 = { path = "services/d1", version = "0.
|
|
281
|
-
opendal-service-dashmap = { path = "services/dashmap", version = "0.
|
|
282
|
-
opendal-service-dbfs = { path = "services/dbfs", version = "0.
|
|
283
|
-
opendal-service-dropbox = { path = "services/dropbox", version = "0.
|
|
284
|
-
opendal-service-etcd = { path = "services/etcd", version = "0.
|
|
285
|
-
opendal-service-foundationdb = { path = "services/foundationdb", version = "0.
|
|
286
|
-
opendal-service-foyer = { path = "services/foyer", version = "0.
|
|
287
|
-
opendal-service-fs = { path = "services/fs", version = "0.
|
|
288
|
-
opendal-service-ftp = { path = "services/ftp", version = "0.
|
|
289
|
-
opendal-service-gcs = { path = "services/gcs", version = "0.
|
|
290
|
-
opendal-service-
|
|
291
|
-
opendal-service-
|
|
292
|
-
opendal-service-
|
|
293
|
-
opendal-service-
|
|
294
|
-
opendal-service-
|
|
295
|
-
opendal-service-
|
|
296
|
-
opendal-service-hdfs
|
|
297
|
-
opendal-service-
|
|
298
|
-
opendal-service-
|
|
299
|
-
opendal-service-
|
|
300
|
-
opendal-service-
|
|
301
|
-
opendal-service-
|
|
302
|
-
opendal-service-
|
|
303
|
-
opendal-service-
|
|
304
|
-
opendal-service-
|
|
305
|
-
opendal-service-moka = { path = "services/
|
|
306
|
-
opendal-service-
|
|
307
|
-
opendal-service-
|
|
308
|
-
opendal-service-
|
|
309
|
-
opendal-service-
|
|
310
|
-
opendal-service-
|
|
311
|
-
opendal-service-
|
|
312
|
-
opendal-service-
|
|
313
|
-
opendal-service-
|
|
314
|
-
opendal-service-
|
|
315
|
-
opendal-service-
|
|
316
|
-
opendal-service-
|
|
317
|
-
opendal-service-
|
|
318
|
-
opendal-service-
|
|
319
|
-
opendal-service-
|
|
320
|
-
opendal-service-
|
|
321
|
-
opendal-service-
|
|
322
|
-
opendal-service-
|
|
323
|
-
opendal-service-
|
|
324
|
-
opendal-service-
|
|
325
|
-
opendal-service-
|
|
326
|
-
opendal-service-
|
|
327
|
-
opendal-service-
|
|
328
|
-
opendal-service-
|
|
329
|
-
opendal-service-vercel-
|
|
330
|
-
opendal-service-
|
|
331
|
-
opendal-service-
|
|
332
|
-
opendal-service-
|
|
333
|
-
opendal-
|
|
249
|
+
opendal-core = { path = "core", version = "0.59.0", default-features = false }
|
|
250
|
+
opendal-http-transport-reqwest = { path = "http-transports/reqwest", version = "0.59.0", optional = true, default-features = false }
|
|
251
|
+
opendal-layer-async-backtrace = { path = "layers/async-backtrace", version = "0.59.0", optional = true, default-features = false }
|
|
252
|
+
opendal-layer-await-tree = { path = "layers/await-tree", version = "0.59.0", optional = true, default-features = false }
|
|
253
|
+
opendal-layer-capability-check = { path = "layers/capability-check", version = "0.59.0", optional = true, default-features = false }
|
|
254
|
+
opendal-layer-chaos = { path = "layers/chaos", version = "0.59.0", optional = true, default-features = false }
|
|
255
|
+
opendal-layer-concurrent-limit = { path = "layers/concurrent-limit", version = "0.59.0", optional = true, default-features = false }
|
|
256
|
+
opendal-layer-fastmetrics = { path = "layers/fastmetrics", version = "0.59.0", optional = true, default-features = false }
|
|
257
|
+
opendal-layer-fastrace = { path = "layers/fastrace", version = "0.59.0", optional = true, default-features = false }
|
|
258
|
+
opendal-layer-foyer = { path = "layers/foyer", version = "0.59.0", optional = true, default-features = false }
|
|
259
|
+
opendal-layer-hotpath = { path = "layers/hotpath", version = "0.59.0", optional = true, default-features = false }
|
|
260
|
+
opendal-layer-immutable-index = { path = "layers/immutable-index", version = "0.59.0", optional = true, default-features = false }
|
|
261
|
+
opendal-layer-logging = { path = "layers/logging", version = "0.59.0", optional = true, default-features = false }
|
|
262
|
+
opendal-layer-metrics = { path = "layers/metrics", version = "0.59.0", optional = true, default-features = false }
|
|
263
|
+
opendal-layer-mime-guess = { path = "layers/mime-guess", version = "0.59.0", optional = true, default-features = false }
|
|
264
|
+
opendal-layer-observe-metrics-common = { path = "layers/observe-metrics-common", version = "0.59.0", optional = true, default-features = false }
|
|
265
|
+
opendal-layer-otelmetrics = { path = "layers/otelmetrics", version = "0.59.0", optional = true, default-features = false }
|
|
266
|
+
opendal-layer-oteltrace = { path = "layers/oteltrace", version = "0.59.0", optional = true, default-features = false }
|
|
267
|
+
opendal-layer-prometheus = { path = "layers/prometheus", version = "0.59.0", optional = true, default-features = false }
|
|
268
|
+
opendal-layer-prometheus-client = { path = "layers/prometheus-client", version = "0.59.0", optional = true, default-features = false }
|
|
269
|
+
opendal-layer-retry = { path = "layers/retry", version = "0.59.0", optional = true, default-features = false }
|
|
270
|
+
opendal-layer-route = { path = "layers/route", version = "0.59.0", optional = true, default-features = false }
|
|
271
|
+
opendal-layer-tail-cut = { path = "layers/tail-cut", version = "0.59.0", optional = true, default-features = false }
|
|
272
|
+
opendal-layer-throttle = { path = "layers/throttle", version = "0.59.0", optional = true, default-features = false }
|
|
273
|
+
opendal-layer-timeout = { path = "layers/timeout", version = "0.59.0", optional = true, default-features = false }
|
|
274
|
+
opendal-layer-tracing = { path = "layers/tracing", version = "0.59.0", optional = true, default-features = false }
|
|
275
|
+
opendal-service-aliyun-drive = { path = "services/aliyun-drive", version = "0.59.0", optional = true, default-features = false }
|
|
276
|
+
opendal-service-alluxio = { path = "services/alluxio", version = "0.59.0", optional = true, default-features = false }
|
|
277
|
+
opendal-service-azblob = { path = "services/azblob", version = "0.59.0", optional = true, default-features = false }
|
|
278
|
+
opendal-service-azdls = { path = "services/azdls", version = "0.59.0", optional = true, default-features = false }
|
|
279
|
+
opendal-service-azfile = { path = "services/azfile", version = "0.59.0", optional = true, default-features = false }
|
|
280
|
+
opendal-service-b2 = { path = "services/b2", version = "0.59.0", optional = true, default-features = false }
|
|
281
|
+
opendal-service-cacache = { path = "services/cacache", version = "0.59.0", optional = true, default-features = false }
|
|
282
|
+
opendal-service-cloudflare-kv = { path = "services/cloudflare-kv", version = "0.59.0", optional = true, default-features = false }
|
|
283
|
+
opendal-service-compfs = { path = "services/compfs", version = "0.59.0", optional = true, default-features = false }
|
|
284
|
+
opendal-service-cos = { path = "services/cos", version = "0.59.0", optional = true, default-features = false }
|
|
285
|
+
opendal-service-d1 = { path = "services/d1", version = "0.59.0", optional = true, default-features = false }
|
|
286
|
+
opendal-service-dashmap = { path = "services/dashmap", version = "0.59.0", optional = true, default-features = false }
|
|
287
|
+
opendal-service-dbfs = { path = "services/dbfs", version = "0.59.0", optional = true, default-features = false }
|
|
288
|
+
opendal-service-dropbox = { path = "services/dropbox", version = "0.59.0", optional = true, default-features = false }
|
|
289
|
+
opendal-service-etcd = { path = "services/etcd", version = "0.59.0", optional = true, default-features = false }
|
|
290
|
+
opendal-service-foundationdb = { path = "services/foundationdb", version = "0.59.0", optional = true, default-features = false }
|
|
291
|
+
opendal-service-foyer = { path = "services/foyer", version = "0.59.0", optional = true, default-features = false }
|
|
292
|
+
opendal-service-fs = { path = "services/fs", version = "0.59.0", optional = true, default-features = false }
|
|
293
|
+
opendal-service-ftp = { path = "services/ftp", version = "0.59.0", optional = true, default-features = false }
|
|
294
|
+
opendal-service-gcs = { path = "services/gcs", version = "0.59.0", optional = true, default-features = false }
|
|
295
|
+
opendal-service-gcs-grpc = { path = "services/gcs-grpc", version = "0.59.0", optional = true, default-features = false }
|
|
296
|
+
opendal-service-gdrive = { path = "services/gdrive", version = "0.59.0", optional = true, default-features = false }
|
|
297
|
+
opendal-service-ghac = { path = "services/ghac", version = "0.59.0", optional = true, default-features = false }
|
|
298
|
+
opendal-service-github = { path = "services/github", version = "0.59.0", optional = true, default-features = false }
|
|
299
|
+
opendal-service-goosefs = { path = "services/goosefs", version = "0.59.0", optional = true, default-features = false }
|
|
300
|
+
opendal-service-gridfs = { path = "services/gridfs", version = "0.59.0", optional = true, default-features = false }
|
|
301
|
+
opendal-service-hdfs = { path = "services/hdfs", version = "0.59.0", optional = true, default-features = false }
|
|
302
|
+
opendal-service-hdfs-native = { path = "services/hdfs-native", version = "0.59.0", optional = true, default-features = false }
|
|
303
|
+
opendal-service-hf = { path = "services/hf", version = "0.59.0", optional = true, default-features = false }
|
|
304
|
+
opendal-service-http = { path = "services/http", version = "0.59.0", optional = true, default-features = false }
|
|
305
|
+
opendal-service-ipfs = { path = "services/ipfs", version = "0.59.0", optional = true, default-features = false }
|
|
306
|
+
opendal-service-ipmfs = { path = "services/ipmfs", version = "0.59.0", optional = true, default-features = false }
|
|
307
|
+
opendal-service-koofr = { path = "services/koofr", version = "0.59.0", optional = true, default-features = false }
|
|
308
|
+
opendal-service-lakefs = { path = "services/lakefs", version = "0.59.0", optional = true, default-features = false }
|
|
309
|
+
opendal-service-memcached = { path = "services/memcached", version = "0.59.0", optional = true, default-features = false }
|
|
310
|
+
opendal-service-mini-moka = { path = "services/mini_moka", version = "0.59.0", optional = true, default-features = false }
|
|
311
|
+
opendal-service-moka = { path = "services/moka", version = "0.59.0", optional = true, default-features = false }
|
|
312
|
+
opendal-service-mongodb = { path = "services/mongodb", version = "0.59.0", optional = true, default-features = false }
|
|
313
|
+
opendal-service-monoiofs = { path = "services/monoiofs", version = "0.59.0", optional = true, default-features = false }
|
|
314
|
+
opendal-service-mysql = { path = "services/mysql", version = "0.59.0", optional = true, default-features = false }
|
|
315
|
+
opendal-service-obs = { path = "services/obs", version = "0.59.0", optional = true, default-features = false }
|
|
316
|
+
opendal-service-onedrive = { path = "services/onedrive", version = "0.59.0", optional = true, default-features = false }
|
|
317
|
+
opendal-service-oss = { path = "services/oss", version = "0.59.0", optional = true, default-features = false }
|
|
318
|
+
opendal-service-pcloud = { path = "services/pcloud", version = "0.59.0", optional = true, default-features = false }
|
|
319
|
+
opendal-service-persy = { path = "services/persy", version = "0.59.0", optional = true, default-features = false }
|
|
320
|
+
opendal-service-postgresql = { path = "services/postgresql", version = "0.59.0", optional = true, default-features = false }
|
|
321
|
+
opendal-service-redb = { path = "services/redb", version = "0.59.0", optional = true, default-features = false }
|
|
322
|
+
opendal-service-redis = { path = "services/redis", version = "0.59.0", optional = true, default-features = false }
|
|
323
|
+
opendal-service-rocksdb = { path = "services/rocksdb", version = "0.59.0", optional = true, default-features = false }
|
|
324
|
+
opendal-service-s3 = { path = "services/s3", version = "0.59.0", optional = true, default-features = false }
|
|
325
|
+
opendal-service-seafile = { path = "services/seafile", version = "0.59.0", optional = true, default-features = false }
|
|
326
|
+
opendal-service-sftp = { path = "services/sftp", version = "0.59.0", optional = true, default-features = false }
|
|
327
|
+
opendal-service-sled = { path = "services/sled", version = "0.59.0", optional = true, default-features = false }
|
|
328
|
+
opendal-service-sqlite = { path = "services/sqlite", version = "0.59.0", optional = true, default-features = false }
|
|
329
|
+
opendal-service-surrealdb = { path = "services/surrealdb", version = "0.59.0", optional = true, default-features = false }
|
|
330
|
+
opendal-service-swift = { path = "services/swift", version = "0.59.0", optional = true, default-features = false }
|
|
331
|
+
opendal-service-tikv = { path = "services/tikv", version = "0.59.0", optional = true, default-features = false }
|
|
332
|
+
opendal-service-tos = { path = "services/tos", version = "0.59.0", optional = true, default-features = false }
|
|
333
|
+
opendal-service-upyun = { path = "services/upyun", version = "0.59.0", optional = true, default-features = false }
|
|
334
|
+
opendal-service-vercel-artifacts = { path = "services/vercel-artifacts", version = "0.59.0", optional = true, default-features = false }
|
|
335
|
+
opendal-service-vercel-blob = { path = "services/vercel-blob", version = "0.59.0", optional = true, default-features = false }
|
|
336
|
+
opendal-service-webdav = { path = "services/webdav", version = "0.59.0", optional = true, default-features = false }
|
|
337
|
+
opendal-service-webhdfs = { path = "services/webhdfs", version = "0.59.0", optional = true, default-features = false }
|
|
338
|
+
opendal-service-yandex-disk = { path = "services/yandex-disk", version = "0.59.0", optional = true, default-features = false }
|
|
339
|
+
opendal-testkit = { path = "testkit", version = "0.59.0", optional = true }
|
|
334
340
|
|
|
335
341
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
336
|
-
opendal-layer-dtrace = { path = "layers/dtrace", version = "0.
|
|
342
|
+
opendal-layer-dtrace = { path = "layers/dtrace", version = "0.59.0", optional = true, default-features = false }
|
|
337
343
|
|
|
338
344
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
339
|
-
opendal-service-opfs = { path = "services/opfs", version = "0.
|
|
345
|
+
opendal-service-opfs = { path = "services/opfs", version = "0.59.0", optional = true, default-features = false }
|
|
340
346
|
|
|
341
347
|
[dev-dependencies]
|
|
342
348
|
anyhow = "1.0"
|
data/core/DEPENDENCIES.rust.tsv
CHANGED
|
@@ -1,40 +1,33 @@
|
|
|
1
1
|
crate Apache-2.0 Apache-2.0 WITH LLVM-exception BSD-2-Clause BSD-3-Clause BSL-1.0 CC0-1.0 CDLA-Permissive-2.0 ISC LGPL-2.1-or-later MIT MIT-0 Unicode-3.0 Unlicense Zlib
|
|
2
|
-
aes@0.8.4 X X
|
|
3
2
|
allocator-api2@0.2.21 X X
|
|
4
|
-
anyhow@1.0.
|
|
3
|
+
anyhow@1.0.104 X X
|
|
5
4
|
arc-swap@1.9.1 X X
|
|
6
5
|
async-lock@3.4.2 X X
|
|
7
|
-
async-trait@0.1.
|
|
6
|
+
async-trait@0.1.91 X X
|
|
7
|
+
asyncband@0.6.7 X
|
|
8
8
|
atomic-waker@1.1.2 X X
|
|
9
|
-
autocfg@1.5.0 X X
|
|
10
9
|
aws-lc-rs@1.16.3 X X
|
|
11
10
|
aws-lc-sys@0.40.0 X X X X X
|
|
12
11
|
backon@1.6.0 X
|
|
13
12
|
base64@0.22.1 X X
|
|
14
|
-
|
|
13
|
+
base64@0.23.0 X X
|
|
15
14
|
bitflags@2.11.1 X X
|
|
16
|
-
block-buffer@0.10.4 X X
|
|
17
15
|
block-buffer@0.12.0 X X
|
|
18
|
-
block-padding@0.3.3 X X
|
|
19
16
|
bumpalo@3.20.3 X X
|
|
20
17
|
bytes@1.12.1 X
|
|
21
|
-
|
|
22
|
-
cc@1.2.61 X X
|
|
18
|
+
cc@1.4.0 X X
|
|
23
19
|
cfg-if@1.0.4 X X
|
|
24
20
|
chacha20@0.10.0 X X
|
|
25
|
-
cipher@0.4.4 X X
|
|
26
21
|
cmake@0.1.58 X X
|
|
27
22
|
cmov@0.5.3 X X
|
|
28
23
|
combine@4.6.7 X
|
|
29
24
|
concurrent-queue@2.5.0 X X
|
|
30
25
|
const-oid@0.10.2 X X
|
|
31
|
-
const-oid@0.9.6 X X
|
|
32
26
|
const-random@0.1.18 X X
|
|
33
27
|
const-random-macro@0.1.16 X X
|
|
34
28
|
core-foundation@0.10.1 X X
|
|
35
29
|
core-foundation@0.9.4 X X
|
|
36
30
|
core-foundation-sys@0.8.7 X X
|
|
37
|
-
cpufeatures@0.2.17 X X
|
|
38
31
|
cpufeatures@0.3.0 X X
|
|
39
32
|
crc-fast@1.10.0 X X
|
|
40
33
|
crossbeam-channel@0.5.15 X X
|
|
@@ -43,10 +36,9 @@ crossbeam-utils@0.8.21 X X
|
|
|
43
36
|
crunchy@0.2.4 X
|
|
44
37
|
crypto-common@0.1.7 X X
|
|
45
38
|
crypto-common@0.2.1 X X
|
|
46
|
-
ctor@1.0.
|
|
39
|
+
ctor@1.0.11 X X
|
|
47
40
|
ctutils@0.4.2 X X
|
|
48
41
|
dashmap@6.2.1 X
|
|
49
|
-
der@0.7.10 X X
|
|
50
42
|
digest@0.10.7 X X
|
|
51
43
|
digest@0.11.3 X X
|
|
52
44
|
displaydoc@0.2.5 X X
|
|
@@ -65,15 +57,15 @@ fnv@1.0.7 X X
|
|
|
65
57
|
foldhash@0.1.5 X
|
|
66
58
|
form_urlencoded@1.2.2 X X
|
|
67
59
|
fs_extra@1.3.0 X
|
|
68
|
-
futures@0.3.
|
|
69
|
-
futures-channel@0.3.
|
|
70
|
-
futures-core@0.3.
|
|
71
|
-
futures-executor@0.3.
|
|
72
|
-
futures-io@0.3.
|
|
73
|
-
futures-macro@0.3.
|
|
74
|
-
futures-sink@0.3.
|
|
75
|
-
futures-task@0.3.
|
|
76
|
-
futures-util@0.3.
|
|
60
|
+
futures@0.3.33 X X
|
|
61
|
+
futures-channel@0.3.33 X X
|
|
62
|
+
futures-core@0.3.33 X X
|
|
63
|
+
futures-executor@0.3.33 X X
|
|
64
|
+
futures-io@0.3.33 X X
|
|
65
|
+
futures-macro@0.3.33 X X
|
|
66
|
+
futures-sink@0.3.33 X X
|
|
67
|
+
futures-task@0.3.33 X X
|
|
68
|
+
futures-util@0.3.33 X X
|
|
77
69
|
generic-array@0.14.7 X
|
|
78
70
|
getrandom@0.2.17 X X
|
|
79
71
|
getrandom@0.3.4 X X
|
|
@@ -83,13 +75,12 @@ goosefs-sdk@0.1.8 X
|
|
|
83
75
|
h2@0.4.14 X
|
|
84
76
|
hashbrown@0.14.5 X X
|
|
85
77
|
hashbrown@0.15.5 X X
|
|
86
|
-
hashbrown@0.17.
|
|
78
|
+
hashbrown@0.17.1 X X
|
|
87
79
|
hex@0.4.3 X X
|
|
88
|
-
hmac@0.12.1 X X
|
|
89
80
|
hmac@0.13.0 X X
|
|
90
81
|
hostname@0.4.2 X
|
|
91
82
|
http@1.4.2 X X
|
|
92
|
-
http-body@1.0
|
|
83
|
+
http-body@1.1.0 X
|
|
93
84
|
http-body-util@0.1.3 X
|
|
94
85
|
httparse@1.10.1 X X
|
|
95
86
|
httpdate@1.0.3 X X
|
|
@@ -108,12 +99,12 @@ icu_provider@2.1.1 X
|
|
|
108
99
|
idna@1.1.0 X X
|
|
109
100
|
idna_adapter@1.2.1 X X
|
|
110
101
|
indexmap@2.14.0 X X
|
|
111
|
-
inout@0.1.4 X X
|
|
112
102
|
io-uring@0.7.12 X X
|
|
113
103
|
ipnet@2.12.0 X X
|
|
114
104
|
itertools@0.14.0 X X
|
|
115
105
|
itoa@1.0.18 X X
|
|
116
|
-
jiff@0.2.
|
|
106
|
+
jiff@0.2.35 X X
|
|
107
|
+
jiff-core@0.1.0 X X
|
|
117
108
|
jiff-tzdb@0.1.6 X X
|
|
118
109
|
jiff-tzdb-platform@0.1.3 X X
|
|
119
110
|
jni@0.22.4 X X
|
|
@@ -122,10 +113,8 @@ jni-sys@0.4.1 X X
|
|
|
122
113
|
jni-sys-macros@0.4.1 X X
|
|
123
114
|
jobserver@0.1.34 X X
|
|
124
115
|
js-sys@0.3.98 X X
|
|
125
|
-
lazy_static@1.5.0 X X
|
|
126
116
|
libc@0.2.186 X X
|
|
127
|
-
|
|
128
|
-
link-section@0.19.0 X X
|
|
117
|
+
link-section@0.19.1 X X
|
|
129
118
|
linktime-proc-macro@0.2.0 X X
|
|
130
119
|
linux-raw-sys@0.12.1 X X X
|
|
131
120
|
litemap@0.8.2 X
|
|
@@ -139,37 +128,28 @@ memmap2@0.9.11 X X
|
|
|
139
128
|
mime@0.3.17 X X
|
|
140
129
|
mio@1.2.0 X
|
|
141
130
|
moka@0.12.15 X X
|
|
142
|
-
num-bigint-dig@0.8.6 X X
|
|
143
|
-
num-integer@0.1.46 X X
|
|
144
|
-
num-iter@0.1.45 X X
|
|
145
|
-
num-traits@0.2.19 X X
|
|
146
131
|
once_cell@1.21.4 X X
|
|
147
|
-
opendal@0.
|
|
148
|
-
opendal-core@0.
|
|
149
|
-
opendal-http-transport-reqwest@0.
|
|
150
|
-
opendal-layer-concurrent-limit@0.
|
|
151
|
-
opendal-layer-logging@0.
|
|
152
|
-
opendal-layer-retry@0.
|
|
153
|
-
opendal-layer-timeout@0.
|
|
154
|
-
opendal-service-fs@0.
|
|
155
|
-
opendal-service-goosefs@0.
|
|
156
|
-
opendal-service-opfs@0.
|
|
157
|
-
opendal-service-s3@0.
|
|
158
|
-
opendal-testkit@0.
|
|
132
|
+
opendal@0.59.0 X
|
|
133
|
+
opendal-core@0.59.0 X
|
|
134
|
+
opendal-http-transport-reqwest@0.59.0 X
|
|
135
|
+
opendal-layer-concurrent-limit@0.59.0 X
|
|
136
|
+
opendal-layer-logging@0.59.0 X
|
|
137
|
+
opendal-layer-retry@0.59.0 X
|
|
138
|
+
opendal-layer-timeout@0.59.0 X
|
|
139
|
+
opendal-service-fs@0.59.0 X
|
|
140
|
+
opendal-service-goosefs@0.59.0 X
|
|
141
|
+
opendal-service-opfs@0.59.0 X
|
|
142
|
+
opendal-service-s3@0.59.0 X
|
|
143
|
+
opendal-testkit@0.59.0 X
|
|
159
144
|
openssl-probe@0.2.1 X X
|
|
160
145
|
ordered-multimap@0.7.3 X
|
|
161
146
|
parking@2.2.1 X X
|
|
162
147
|
parking_lot@0.12.5 X X
|
|
163
148
|
parking_lot_core@0.9.12 X X
|
|
164
|
-
pbkdf2@0.12.2 X X
|
|
165
|
-
pem-rfc7468@0.7.0 X X
|
|
166
149
|
percent-encoding@2.3.2 X X
|
|
167
150
|
pin-project@1.1.12 X X
|
|
168
151
|
pin-project-internal@1.1.12 X X
|
|
169
152
|
pin-project-lite@0.2.17 X X
|
|
170
|
-
pkcs1@0.7.5 X X
|
|
171
|
-
pkcs5@0.7.1 X X
|
|
172
|
-
pkcs8@0.10.2 X X
|
|
173
153
|
portable-atomic@1.13.1 X X
|
|
174
154
|
portable-atomic-util@0.2.7 X X
|
|
175
155
|
potential_utf@0.1.5 X
|
|
@@ -178,27 +158,23 @@ proc-macro2@1.0.106 X X
|
|
|
178
158
|
prost@0.14.3 X
|
|
179
159
|
prost-derive@0.14.3 X
|
|
180
160
|
prost-types@0.14.3 X
|
|
181
|
-
quick-xml@0.40.1 X
|
|
182
161
|
quick-xml@0.41.0 X
|
|
183
162
|
quote@1.0.46 X X
|
|
184
163
|
r-efi@5.3.0 X X X
|
|
185
164
|
r-efi@6.0.0 X X X
|
|
186
165
|
rand@0.10.1 X X
|
|
187
|
-
rand@0.8.6 X X
|
|
188
166
|
rand@0.9.4 X X
|
|
189
|
-
rand_chacha@0.3.1 X X
|
|
190
167
|
rand_chacha@0.9.0 X X
|
|
191
168
|
rand_core@0.10.1 X X
|
|
192
|
-
rand_core@0.6.4 X X
|
|
193
169
|
rand_core@0.9.5 X X
|
|
194
170
|
redox_syscall@0.5.18 X
|
|
195
|
-
reqsign-aws-
|
|
196
|
-
reqsign-
|
|
197
|
-
reqsign-
|
|
171
|
+
reqsign-aws-core@3.1.1 X
|
|
172
|
+
reqsign-aws-v4@3.3.0 X
|
|
173
|
+
reqsign-core@3.3.1 X
|
|
174
|
+
reqsign-file-read-tokio@3.0.6 X
|
|
198
175
|
reqwest@0.12.28 X X
|
|
199
176
|
reqwest@0.13.4 X X
|
|
200
177
|
ring@0.17.14 X X
|
|
201
|
-
rsa@0.9.10 X X
|
|
202
178
|
rust-ini@0.21.3 X
|
|
203
179
|
rustc_version@0.4.1 X X
|
|
204
180
|
rustix@1.1.4 X X X
|
|
@@ -210,36 +186,31 @@ rustls-platform-verifier-android@0.1.1 X X
|
|
|
210
186
|
rustls-webpki@0.103.13 X
|
|
211
187
|
rustversion@1.0.22 X X
|
|
212
188
|
ryu@1.0.23 X X
|
|
213
|
-
salsa20@0.10.2 X X
|
|
214
189
|
same-file@1.0.6 X X
|
|
215
190
|
schannel@0.1.29 X
|
|
216
191
|
scopeguard@1.2.0 X X
|
|
217
|
-
scrypt@0.11.0 X X
|
|
218
192
|
security-framework@3.7.0 X X
|
|
219
193
|
security-framework-sys@2.17.0 X X
|
|
220
194
|
semver@1.0.28 X X
|
|
221
195
|
send_wrapper@0.6.0 X X
|
|
222
|
-
serde@1.0.
|
|
223
|
-
serde_core@1.0.
|
|
224
|
-
serde_derive@1.0.
|
|
225
|
-
serde_json@1.0.
|
|
196
|
+
serde@1.0.229 X X
|
|
197
|
+
serde_core@1.0.229 X X
|
|
198
|
+
serde_derive@1.0.229 X X
|
|
199
|
+
serde_json@1.0.151 X X
|
|
226
200
|
serde_urlencoded@0.7.1 X X
|
|
227
201
|
sha1@0.11.0 X X
|
|
228
|
-
sha2@0.10.9 X X
|
|
229
202
|
sha2@0.11.0 X X
|
|
230
|
-
shlex@
|
|
231
|
-
signature@2.2.0 X X
|
|
203
|
+
shlex@2.0.1 X X
|
|
232
204
|
simd_cesu8@1.1.1 X X
|
|
233
205
|
simdutf8@0.1.5 X X
|
|
234
206
|
slab@0.4.12 X
|
|
235
207
|
smallvec@1.15.1 X X
|
|
236
208
|
socket2@0.6.3 X X
|
|
237
209
|
spin@0.10.0 X
|
|
238
|
-
spin@0.9.8 X
|
|
239
|
-
spki@0.7.3 X X
|
|
240
210
|
stable_deref_trait@1.2.1 X X
|
|
241
211
|
subtle@2.6.1 X
|
|
242
212
|
syn@2.0.118 X X
|
|
213
|
+
syn@3.0.3 X X
|
|
243
214
|
sync_wrapper@1.0.2 X
|
|
244
215
|
synstructure@0.13.2 X
|
|
245
216
|
system-configuration@0.7.0 X X
|
|
@@ -249,7 +220,7 @@ thiserror@2.0.18 X X
|
|
|
249
220
|
thiserror-impl@2.0.18 X X
|
|
250
221
|
tiny-keccak@2.0.2 X
|
|
251
222
|
tinystr@0.8.3 X
|
|
252
|
-
tokio@1.
|
|
223
|
+
tokio@1.53.1 X
|
|
253
224
|
tokio-macros@2.7.0 X
|
|
254
225
|
tokio-rustls@0.26.4 X X
|
|
255
226
|
tokio-stream@0.1.18 X
|
|
@@ -269,7 +240,7 @@ unicode-ident@1.0.24 X X X
|
|
|
269
240
|
untrusted@0.9.0 X
|
|
270
241
|
url@2.5.8 X X
|
|
271
242
|
utf8_iter@1.0.4 X X
|
|
272
|
-
uuid@1.
|
|
243
|
+
uuid@1.24.0 X X
|
|
273
244
|
version_check@0.9.5 X X
|
|
274
245
|
walkdir@2.5.0 X X
|
|
275
246
|
want@0.3.1 X
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Metadata benchmarks
|
|
2
|
+
|
|
3
|
+
This benchmark keeps only the final compact representation and replicas of the
|
|
4
|
+
field-per-option types that it replaced. The replicas preserve the old owned
|
|
5
|
+
field layout so the comparison remains available after the original types have
|
|
6
|
+
been removed.
|
|
7
|
+
|
|
8
|
+
Run the complete suite from `core/`:
|
|
9
|
+
|
|
10
|
+
```shell
|
|
11
|
+
cargo bench --bench metadata
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Use a filter while iterating on one path:
|
|
15
|
+
|
|
16
|
+
```shell
|
|
17
|
+
cargo bench --bench metadata -- clone
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The retained-value groups use Divan's allocation profiler. Construction groups
|
|
21
|
+
measure creation separately, while clone and lookup groups reuse an input value.
|