You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2025/12/03 10:18:29 UTC
(opendal) 01/01: refactor: Split core out to prepare for splitting
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch xuanwo/core-split
in repository https://gitbox.apache.org/repos/asf/opendal.git
commit 3f19efeeadee044cd654f08807c57c9c3e2a38fc
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Wed Dec 3 18:17:57 2025 +0800
refactor: Split core out to prepare for splitting
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
core/Cargo.lock | 150 +++++--
core/Cargo.toml | 473 +++++----------------
core/{ => core}/Cargo.toml | 33 +-
core/{ => core}/src/blocking/delete.rs | 0
core/{ => core}/src/blocking/list.rs | 0
core/{ => core}/src/blocking/mod.rs | 0
core/{ => core}/src/blocking/operator.rs | 0
.../src/blocking/read/buffer_iterator.rs | 0
core/{ => core}/src/blocking/read/mod.rs | 0
core/{ => core}/src/blocking/read/reader.rs | 0
.../src/blocking/read/std_bytes_iterator.rs | 0
core/{ => core}/src/blocking/read/std_reader.rs | 0
core/{ => core}/src/blocking/write/mod.rs | 0
core/{ => core}/src/blocking/write/std_writer.rs | 0
core/{ => core}/src/blocking/write/writer.rs | 0
core/{ => core}/src/docs/comparisons/mod.rs | 0
.../src/docs/comparisons/vs_object_store.md | 0
core/{ => core}/src/docs/concepts.rs | 0
core/{ => core}/src/docs/internals/accessor.rs | 0
core/{ => core}/src/docs/internals/layer.rs | 0
core/{ => core}/src/docs/internals/mod.rs | 0
core/{ => core}/src/docs/mod.rs | 0
.../src/docs/performance/concurrent_write.md | 0
.../src/docs/performance/http_optimization.md | 0
core/{ => core}/src/docs/performance/mod.rs | 0
core/{ => core}/src/docs/rfcs/0000_example.md | 0
.../src/docs/rfcs/0000_foyer_integration.md | 0
.../src/docs/rfcs/0041_object_native_api.md | 0
core/{ => core}/src/docs/rfcs/0044_error_handle.md | 0
core/{ => core}/src/docs/rfcs/0057_auto_region.md | 0
.../{ => core}/src/docs/rfcs/0069_object_stream.md | 0
.../src/docs/rfcs/0090_limited_reader.md | 0
.../src/docs/rfcs/0112_path_normalization.md | 0
.../src/docs/rfcs/0191_async_streaming_io.md | 0
.../src/docs/rfcs/0203_remove_credential.md | 0
core/{ => core}/src/docs/rfcs/0221_create_dir.md | 0
.../src/docs/rfcs/0247_retryable_error.md | 0
core/{ => core}/src/docs/rfcs/0293_object_id.md | 0
core/{ => core}/src/docs/rfcs/0337_dir_entry.md | 0
.../src/docs/rfcs/0409_accessor_capabilities.md | 0
core/{ => core}/src/docs/rfcs/0413_presign.md | 0
.../src/docs/rfcs/0423_command_line_interface.md | 0
.../src/docs/rfcs/0429_init_from_iter.md | 0
core/{ => core}/src/docs/rfcs/0438_multipart.md | 0
core/{ => core}/src/docs/rfcs/0443_gateway.md | 0
core/{ => core}/src/docs/rfcs/0501_new_builder.md | 0
.../src/docs/rfcs/0554_write_refactor.md | 0
.../src/docs/rfcs/0561_list_metadata_reuse.md | 0
core/{ => core}/src/docs/rfcs/0599_blocking_api.md | 0
.../{ => core}/src/docs/rfcs/0623_redis_service.md | 0
.../src/docs/rfcs/0627_split_capabilities.md | 0
.../src/docs/rfcs/0661_path_in_accessor.md | 0
.../src/docs/rfcs/0793_generic_kv_services.md | 0
.../{ => core}/src/docs/rfcs/0926_object_reader.md | 0
.../src/docs/rfcs/0977_refactor_error.md | 0
.../src/docs/rfcs/1085_object_handler.md | 0
.../src/docs/rfcs/1391_object_metadataer.md | 0
.../src/docs/rfcs/1398_query_based_metadata.md | 0
.../{ => core}/src/docs/rfcs/1420_object_writer.md | 0
.../src/docs/rfcs/1477_remove_object_concept.md | 0
.../src/docs/rfcs/1735_operation_extension.md | 0
.../src/docs/rfcs/2083_writer_sink_api.md | 0
core/{ => core}/src/docs/rfcs/2133_append_api.md | 0
.../src/docs/rfcs/2299_chain_based_operator_api.md | 0
.../src/docs/rfcs/2602_object_versioning.md | 0
.../src/docs/rfcs/2758_merge_append_into_write.md | 0
core/{ => core}/src/docs/rfcs/2774_lister_api.md | 0
.../src/docs/rfcs/2779_list_with_metakey.md | 0
.../src/docs/rfcs/2852_native_capability.md | 0
.../docs/rfcs/2884_merge_range_read_into_read.md | 0
.../src/docs/rfcs/3017_remove_write_copy_from.md | 0
core/{ => core}/src/docs/rfcs/3197_config.md | 0
.../src/docs/rfcs/3232_align_list_api.md | 0
core/{ => core}/src/docs/rfcs/3243_list_prefix.md | 0
core/{ => core}/src/docs/rfcs/3356_lazy_reader.md | 0
.../src/docs/rfcs/3526_list_recursive.md | 0
.../src/docs/rfcs/3574_concurrent_stat_in_list.md | 0
.../src/docs/rfcs/3734_buffered_reader.md | 0
.../src/docs/rfcs/3898_concurrent_writer.md | 0
core/{ => core}/src/docs/rfcs/3911_deleter_api.md | 0
.../src/docs/rfcs/4382_range_based_read.md | 0
core/{ => core}/src/docs/rfcs/4638_executor.md | 0
.../src/docs/rfcs/5314_remove_metakey.md | 0
.../src/docs/rfcs/5444_operator_from_uri.md | 0
core/{ => core}/src/docs/rfcs/5479_context.md | 0
.../src/docs/rfcs/5485_conditional_reader.md | 0
.../src/docs/rfcs/5495_list_with_deleted.md | 0
.../src/docs/rfcs/5556_write_returns_metadata.md | 0
.../src/docs/rfcs/5871_read_returns_metadata.md | 0
.../src/docs/rfcs/6189_remove_native_blocking.md | 0
core/{ => core}/src/docs/rfcs/6209_glob_support.md | 0
core/{ => core}/src/docs/rfcs/6213_options_api.md | 0
.../src/docs/rfcs/6678_simulate_layer.md | 0
.../docs/rfcs/6707_capability_override_layer.md | 0
core/{ => core}/src/docs/rfcs/6817_checksum.md | 0
core/{ => core}/src/docs/rfcs/6828_core.md | 0
core/{ => core}/src/docs/rfcs/README.md | 0
core/{ => core}/src/docs/rfcs/mod.rs | 0
core/{ => core}/src/docs/upgrade.md | 0
core/{ => core}/src/layers/async_backtrace.rs | 0
core/{ => core}/src/layers/await_tree.rs | 0
core/{ => core}/src/layers/capability_check.rs | 0
core/{ => core}/src/layers/chaos.rs | 0
core/{ => core}/src/layers/complete.rs | 0
core/{ => core}/src/layers/concurrent_limit.rs | 0
core/{ => core}/src/layers/correctness_check.rs | 0
core/{ => core}/src/layers/dtrace.rs | 0
core/{ => core}/src/layers/error_context.rs | 0
core/{ => core}/src/layers/fastmetrics.rs | 0
core/{ => core}/src/layers/fastrace.rs | 0
core/{ => core}/src/layers/http_client.rs | 0
core/{ => core}/src/layers/immutable_index.rs | 0
core/{ => core}/src/layers/logging.rs | 0
core/{ => core}/src/layers/metrics.rs | 0
core/{ => core}/src/layers/mime_guess.rs | 0
core/{ => core}/src/layers/mod.rs | 0
core/{ => core}/src/layers/observe/metrics.rs | 0
core/{ => core}/src/layers/observe/mod.rs | 0
core/{ => core}/src/layers/otelmetrics.rs | 0
core/{ => core}/src/layers/oteltrace.rs | 0
core/{ => core}/src/layers/prometheus.rs | 0
core/{ => core}/src/layers/prometheus_client.rs | 0
core/{ => core}/src/layers/retry.rs | 0
core/{ => core}/src/layers/simulate.rs | 0
core/{ => core}/src/layers/tail_cut.rs | 0
core/{ => core}/src/layers/throttle.rs | 0
core/{ => core}/src/layers/timeout.rs | 0
core/{ => core}/src/layers/tracing.rs | 0
core/{ => core}/src/layers/type_eraser.rs | 0
core/{ => core}/src/lib.rs | 0
core/{ => core}/src/raw/accessor.rs | 0
core/{ => core}/src/raw/atomic_util.rs | 0
core/{ => core}/src/raw/azure.rs | 0
core/{ => core}/src/raw/enum_utils.rs | 0
core/{ => core}/src/raw/futures_util.rs | 0
core/{ => core}/src/raw/http_util/body.rs | 0
.../src/raw/http_util/bytes_content_range.rs | 0
core/{ => core}/src/raw/http_util/bytes_range.rs | 0
core/{ => core}/src/raw/http_util/client.rs | 0
core/{ => core}/src/raw/http_util/error.rs | 0
core/{ => core}/src/raw/http_util/header.rs | 0
core/{ => core}/src/raw/http_util/mod.rs | 0
core/{ => core}/src/raw/http_util/multipart.rs | 0
core/{ => core}/src/raw/http_util/uri.rs | 0
core/{ => core}/src/raw/layer.rs | 0
core/{ => core}/src/raw/mod.rs | 0
core/{ => core}/src/raw/oio/buf/flex_buf.rs | 0
core/{ => core}/src/raw/oio/buf/mod.rs | 0
core/{ => core}/src/raw/oio/buf/pooled_buf.rs | 0
core/{ => core}/src/raw/oio/buf/queue_buf.rs | 0
core/{ => core}/src/raw/oio/delete/api.rs | 0
core/{ => core}/src/raw/oio/delete/batch_delete.rs | 0
core/{ => core}/src/raw/oio/delete/mod.rs | 0
.../src/raw/oio/delete/one_shot_delete.rs | 0
core/{ => core}/src/raw/oio/entry.rs | 0
core/{ => core}/src/raw/oio/list/api.rs | 0
core/{ => core}/src/raw/oio/list/flat_list.rs | 0
core/{ => core}/src/raw/oio/list/hierarchy_list.rs | 0
core/{ => core}/src/raw/oio/list/mod.rs | 0
core/{ => core}/src/raw/oio/list/page_list.rs | 0
core/{ => core}/src/raw/oio/list/prefix_list.rs | 0
core/{ => core}/src/raw/oio/mod.rs | 0
core/{ => core}/src/raw/oio/read/api.rs | 0
core/{ => core}/src/raw/oio/read/mod.rs | 0
core/{ => core}/src/raw/oio/write/api.rs | 0
core/{ => core}/src/raw/oio/write/append_write.rs | 0
core/{ => core}/src/raw/oio/write/block_write.rs | 0
core/{ => core}/src/raw/oio/write/mod.rs | 0
.../src/raw/oio/write/multipart_write.rs | 0
.../{ => core}/src/raw/oio/write/one_shot_write.rs | 0
.../{ => core}/src/raw/oio/write/position_write.rs | 0
core/{ => core}/src/raw/operation.rs | 0
core/{ => core}/src/raw/ops.rs | 0
core/{ => core}/src/raw/path.rs | 0
core/{ => core}/src/raw/path_cache.rs | 0
core/{ => core}/src/raw/rps.rs | 0
core/{ => core}/src/raw/serde_util.rs | 0
core/{ => core}/src/raw/std_io_util.rs | 0
core/{ => core}/src/raw/tests/mod.rs | 0
core/{ => core}/src/raw/tests/read.rs | 0
core/{ => core}/src/raw/tests/utils.rs | 0
core/{ => core}/src/raw/tests/write.rs | 0
core/{ => core}/src/raw/time.rs | 0
core/{ => core}/src/raw/tokio_util.rs | 0
core/{ => core}/src/raw/version.rs | 0
.../src/services/aliyun_drive/backend.rs | 0
.../{ => core}/src/services/aliyun_drive/config.rs | 0
core/{ => core}/src/services/aliyun_drive/core.rs | 0
.../src/services/aliyun_drive/deleter.rs | 0
core/{ => core}/src/services/aliyun_drive/docs.md | 0
core/{ => core}/src/services/aliyun_drive/error.rs | 0
.../{ => core}/src/services/aliyun_drive/lister.rs | 0
core/{ => core}/src/services/aliyun_drive/mod.rs | 0
.../{ => core}/src/services/aliyun_drive/writer.rs | 0
core/{ => core}/src/services/alluxio/backend.rs | 0
core/{ => core}/src/services/alluxio/config.rs | 0
core/{ => core}/src/services/alluxio/core.rs | 0
core/{ => core}/src/services/alluxio/deleter.rs | 0
core/{ => core}/src/services/alluxio/docs.md | 0
core/{ => core}/src/services/alluxio/error.rs | 0
core/{ => core}/src/services/alluxio/lister.rs | 0
core/{ => core}/src/services/alluxio/mod.rs | 0
core/{ => core}/src/services/alluxio/writer.rs | 0
core/{ => core}/src/services/azblob/backend.rs | 0
core/{ => core}/src/services/azblob/config.rs | 0
core/{ => core}/src/services/azblob/core.rs | 0
core/{ => core}/src/services/azblob/deleter.rs | 0
core/{ => core}/src/services/azblob/docs.md | 0
core/{ => core}/src/services/azblob/error.rs | 0
core/{ => core}/src/services/azblob/lister.rs | 0
core/{ => core}/src/services/azblob/mod.rs | 0
core/{ => core}/src/services/azblob/writer.rs | 0
core/{ => core}/src/services/azdls/backend.rs | 0
core/{ => core}/src/services/azdls/config.rs | 0
core/{ => core}/src/services/azdls/core.rs | 0
core/{ => core}/src/services/azdls/deleter.rs | 0
core/{ => core}/src/services/azdls/docs.md | 0
core/{ => core}/src/services/azdls/error.rs | 0
core/{ => core}/src/services/azdls/lister.rs | 0
core/{ => core}/src/services/azdls/mod.rs | 0
core/{ => core}/src/services/azdls/writer.rs | 0
core/{ => core}/src/services/azfile/backend.rs | 0
core/{ => core}/src/services/azfile/config.rs | 0
core/{ => core}/src/services/azfile/core.rs | 0
core/{ => core}/src/services/azfile/deleter.rs | 0
core/{ => core}/src/services/azfile/docs.md | 0
core/{ => core}/src/services/azfile/error.rs | 0
core/{ => core}/src/services/azfile/lister.rs | 0
core/{ => core}/src/services/azfile/mod.rs | 0
core/{ => core}/src/services/azfile/writer.rs | 0
core/{ => core}/src/services/b2/backend.rs | 0
core/{ => core}/src/services/b2/config.rs | 0
core/{ => core}/src/services/b2/core.rs | 0
core/{ => core}/src/services/b2/deleter.rs | 0
core/{ => core}/src/services/b2/docs.md | 0
core/{ => core}/src/services/b2/error.rs | 0
core/{ => core}/src/services/b2/lister.rs | 0
core/{ => core}/src/services/b2/mod.rs | 0
core/{ => core}/src/services/b2/writer.rs | 0
core/{ => core}/src/services/cacache/backend.rs | 0
core/{ => core}/src/services/cacache/config.rs | 0
core/{ => core}/src/services/cacache/core.rs | 0
core/{ => core}/src/services/cacache/deleter.rs | 0
core/{ => core}/src/services/cacache/docs.md | 0
core/{ => core}/src/services/cacache/mod.rs | 0
core/{ => core}/src/services/cacache/writer.rs | 0
.../src/services/cloudflare_kv/backend.rs | 0
.../src/services/cloudflare_kv/config.rs | 0
core/{ => core}/src/services/cloudflare_kv/core.rs | 0
.../src/services/cloudflare_kv/deleter.rs | 0
core/{ => core}/src/services/cloudflare_kv/docs.md | 0
.../{ => core}/src/services/cloudflare_kv/error.rs | 0
.../src/services/cloudflare_kv/lister.rs | 0
core/{ => core}/src/services/cloudflare_kv/mod.rs | 0
.../{ => core}/src/services/cloudflare_kv/model.rs | 0
.../src/services/cloudflare_kv/writer.rs | 0
core/{ => core}/src/services/compfs/backend.rs | 0
core/{ => core}/src/services/compfs/config.rs | 0
core/{ => core}/src/services/compfs/core.rs | 0
core/{ => core}/src/services/compfs/deleter.rs | 0
core/{ => core}/src/services/compfs/lister.rs | 0
core/{ => core}/src/services/compfs/mod.rs | 0
core/{ => core}/src/services/compfs/reader.rs | 0
core/{ => core}/src/services/compfs/writer.rs | 0
core/{ => core}/src/services/cos/backend.rs | 0
core/{ => core}/src/services/cos/config.rs | 0
core/{ => core}/src/services/cos/core.rs | 0
core/{ => core}/src/services/cos/deleter.rs | 0
core/{ => core}/src/services/cos/docs.md | 0
core/{ => core}/src/services/cos/error.rs | 0
core/{ => core}/src/services/cos/lister.rs | 0
core/{ => core}/src/services/cos/mod.rs | 0
core/{ => core}/src/services/cos/writer.rs | 0
core/{ => core}/src/services/d1/backend.rs | 0
core/{ => core}/src/services/d1/config.rs | 0
core/{ => core}/src/services/d1/core.rs | 0
core/{ => core}/src/services/d1/deleter.rs | 0
core/{ => core}/src/services/d1/docs.md | 0
core/{ => core}/src/services/d1/error.rs | 0
core/{ => core}/src/services/d1/mod.rs | 0
core/{ => core}/src/services/d1/model.rs | 0
core/{ => core}/src/services/d1/writer.rs | 0
core/{ => core}/src/services/dashmap/backend.rs | 0
core/{ => core}/src/services/dashmap/config.rs | 0
core/{ => core}/src/services/dashmap/core.rs | 0
core/{ => core}/src/services/dashmap/deleter.rs | 0
core/{ => core}/src/services/dashmap/docs.md | 0
core/{ => core}/src/services/dashmap/lister.rs | 0
core/{ => core}/src/services/dashmap/mod.rs | 0
core/{ => core}/src/services/dashmap/writer.rs | 0
core/{ => core}/src/services/dbfs/backend.rs | 0
core/{ => core}/src/services/dbfs/config.rs | 0
core/{ => core}/src/services/dbfs/core.rs | 0
core/{ => core}/src/services/dbfs/deleter.rs | 0
core/{ => core}/src/services/dbfs/docs.md | 0
core/{ => core}/src/services/dbfs/error.rs | 0
core/{ => core}/src/services/dbfs/lister.rs | 0
core/{ => core}/src/services/dbfs/mod.rs | 0
core/{ => core}/src/services/dbfs/writer.rs | 0
core/{ => core}/src/services/dropbox/backend.rs | 0
core/{ => core}/src/services/dropbox/builder.rs | 0
core/{ => core}/src/services/dropbox/config.rs | 0
core/{ => core}/src/services/dropbox/core.rs | 0
core/{ => core}/src/services/dropbox/deleter.rs | 0
core/{ => core}/src/services/dropbox/docs.md | 0
core/{ => core}/src/services/dropbox/error.rs | 0
core/{ => core}/src/services/dropbox/lister.rs | 0
core/{ => core}/src/services/dropbox/mod.rs | 0
core/{ => core}/src/services/dropbox/writer.rs | 0
core/{ => core}/src/services/etcd/backend.rs | 0
core/{ => core}/src/services/etcd/config.rs | 0
core/{ => core}/src/services/etcd/core.rs | 0
core/{ => core}/src/services/etcd/deleter.rs | 0
core/{ => core}/src/services/etcd/docs.md | 0
core/{ => core}/src/services/etcd/error.rs | 0
core/{ => core}/src/services/etcd/lister.rs | 0
core/{ => core}/src/services/etcd/mod.rs | 0
core/{ => core}/src/services/etcd/writer.rs | 0
.../src/services/foundationdb/backend.rs | 0
.../{ => core}/src/services/foundationdb/config.rs | 0
core/{ => core}/src/services/foundationdb/core.rs | 0
.../src/services/foundationdb/deleter.rs | 0
core/{ => core}/src/services/foundationdb/docs.md | 0
core/{ => core}/src/services/foundationdb/mod.rs | 0
.../{ => core}/src/services/foundationdb/writer.rs | 0
core/{ => core}/src/services/fs/backend.rs | 0
core/{ => core}/src/services/fs/config.rs | 0
core/{ => core}/src/services/fs/core.rs | 0
core/{ => core}/src/services/fs/deleter.rs | 0
core/{ => core}/src/services/fs/docs.md | 0
core/{ => core}/src/services/fs/error.rs | 0
core/{ => core}/src/services/fs/lister.rs | 0
core/{ => core}/src/services/fs/mod.rs | 0
core/{ => core}/src/services/fs/reader.rs | 0
core/{ => core}/src/services/fs/writer.rs | 0
core/{ => core}/src/services/ftp/backend.rs | 0
core/{ => core}/src/services/ftp/config.rs | 0
core/{ => core}/src/services/ftp/core.rs | 0
core/{ => core}/src/services/ftp/deleter.rs | 0
core/{ => core}/src/services/ftp/docs.md | 0
core/{ => core}/src/services/ftp/err.rs | 0
core/{ => core}/src/services/ftp/lister.rs | 0
core/{ => core}/src/services/ftp/mod.rs | 0
core/{ => core}/src/services/ftp/reader.rs | 0
core/{ => core}/src/services/ftp/writer.rs | 0
core/{ => core}/src/services/gcs/backend.rs | 0
core/{ => core}/src/services/gcs/config.rs | 0
core/{ => core}/src/services/gcs/core.rs | 0
core/{ => core}/src/services/gcs/deleter.rs | 0
core/{ => core}/src/services/gcs/docs.md | 0
core/{ => core}/src/services/gcs/error.rs | 0
core/{ => core}/src/services/gcs/lister.rs | 0
core/{ => core}/src/services/gcs/mod.rs | 0
core/{ => core}/src/services/gcs/uri.rs | 0
core/{ => core}/src/services/gcs/writer.rs | 0
core/{ => core}/src/services/gdrive/backend.rs | 0
core/{ => core}/src/services/gdrive/builder.rs | 0
core/{ => core}/src/services/gdrive/config.rs | 0
core/{ => core}/src/services/gdrive/core.rs | 0
core/{ => core}/src/services/gdrive/deleter.rs | 0
core/{ => core}/src/services/gdrive/docs.md | 0
core/{ => core}/src/services/gdrive/error.rs | 0
core/{ => core}/src/services/gdrive/lister.rs | 0
core/{ => core}/src/services/gdrive/mod.rs | 0
core/{ => core}/src/services/gdrive/writer.rs | 0
core/{ => core}/src/services/ghac/backend.rs | 0
core/{ => core}/src/services/ghac/config.rs | 0
core/{ => core}/src/services/ghac/core.rs | 0
core/{ => core}/src/services/ghac/docs.md | 0
core/{ => core}/src/services/ghac/error.rs | 0
core/{ => core}/src/services/ghac/mod.rs | 0
core/{ => core}/src/services/ghac/writer.rs | 0
core/{ => core}/src/services/github/backend.rs | 0
core/{ => core}/src/services/github/config.rs | 0
core/{ => core}/src/services/github/core.rs | 0
core/{ => core}/src/services/github/deleter.rs | 0
core/{ => core}/src/services/github/docs.md | 0
core/{ => core}/src/services/github/error.rs | 0
core/{ => core}/src/services/github/lister.rs | 0
core/{ => core}/src/services/github/mod.rs | 0
core/{ => core}/src/services/github/writer.rs | 0
core/{ => core}/src/services/gridfs/backend.rs | 0
core/{ => core}/src/services/gridfs/config.rs | 0
core/{ => core}/src/services/gridfs/core.rs | 0
core/{ => core}/src/services/gridfs/deleter.rs | 0
core/{ => core}/src/services/gridfs/docs.md | 0
core/{ => core}/src/services/gridfs/mod.rs | 0
core/{ => core}/src/services/gridfs/writer.rs | 0
core/{ => core}/src/services/hdfs/backend.rs | 0
core/{ => core}/src/services/hdfs/config.rs | 0
core/{ => core}/src/services/hdfs/core.rs | 0
core/{ => core}/src/services/hdfs/deleter.rs | 0
core/{ => core}/src/services/hdfs/docs.md | 0
core/{ => core}/src/services/hdfs/lister.rs | 0
core/{ => core}/src/services/hdfs/mod.rs | 0
core/{ => core}/src/services/hdfs/reader.rs | 0
core/{ => core}/src/services/hdfs/writer.rs | 0
.../{ => core}/src/services/hdfs_native/backend.rs | 0
core/{ => core}/src/services/hdfs_native/config.rs | 0
core/{ => core}/src/services/hdfs_native/core.rs | 0
.../{ => core}/src/services/hdfs_native/deleter.rs | 0
core/{ => core}/src/services/hdfs_native/docs.md | 0
core/{ => core}/src/services/hdfs_native/error.rs | 0
core/{ => core}/src/services/hdfs_native/lister.rs | 0
core/{ => core}/src/services/hdfs_native/mod.rs | 0
core/{ => core}/src/services/hdfs_native/reader.rs | 0
core/{ => core}/src/services/hdfs_native/writer.rs | 0
core/{ => core}/src/services/http/backend.rs | 0
core/{ => core}/src/services/http/config.rs | 0
core/{ => core}/src/services/http/core.rs | 0
core/{ => core}/src/services/http/docs.md | 0
core/{ => core}/src/services/http/error.rs | 0
core/{ => core}/src/services/http/mod.rs | 0
.../{ => core}/src/services/huggingface/backend.rs | 0
core/{ => core}/src/services/huggingface/config.rs | 0
core/{ => core}/src/services/huggingface/core.rs | 0
core/{ => core}/src/services/huggingface/docs.md | 0
core/{ => core}/src/services/huggingface/error.rs | 0
core/{ => core}/src/services/huggingface/lister.rs | 0
core/{ => core}/src/services/huggingface/mod.rs | 0
core/{ => core}/src/services/ipfs/backend.rs | 0
core/{ => core}/src/services/ipfs/config.rs | 0
core/{ => core}/src/services/ipfs/core.rs | 0
core/{ => core}/src/services/ipfs/docs.md | 0
core/{ => core}/src/services/ipfs/error.rs | 0
core/{ => core}/src/services/ipfs/ipld.rs | 0
core/{ => core}/src/services/ipfs/mod.rs | 0
core/{ => core}/src/services/ipmfs/backend.rs | 0
core/{ => core}/src/services/ipmfs/builder.rs | 0
core/{ => core}/src/services/ipmfs/config.rs | 0
core/{ => core}/src/services/ipmfs/core.rs | 0
core/{ => core}/src/services/ipmfs/deleter.rs | 0
core/{ => core}/src/services/ipmfs/docs.md | 0
core/{ => core}/src/services/ipmfs/error.rs | 0
core/{ => core}/src/services/ipmfs/lister.rs | 0
core/{ => core}/src/services/ipmfs/mod.rs | 0
core/{ => core}/src/services/ipmfs/writer.rs | 0
core/{ => core}/src/services/koofr/backend.rs | 0
core/{ => core}/src/services/koofr/config.rs | 0
core/{ => core}/src/services/koofr/core.rs | 0
core/{ => core}/src/services/koofr/deleter.rs | 0
core/{ => core}/src/services/koofr/docs.md | 0
core/{ => core}/src/services/koofr/error.rs | 0
core/{ => core}/src/services/koofr/lister.rs | 0
core/{ => core}/src/services/koofr/mod.rs | 0
core/{ => core}/src/services/koofr/writer.rs | 0
core/{ => core}/src/services/lakefs/backend.rs | 0
core/{ => core}/src/services/lakefs/config.rs | 0
core/{ => core}/src/services/lakefs/core.rs | 0
core/{ => core}/src/services/lakefs/deleter.rs | 0
core/{ => core}/src/services/lakefs/docs.md | 0
core/{ => core}/src/services/lakefs/error.rs | 0
core/{ => core}/src/services/lakefs/lister.rs | 0
core/{ => core}/src/services/lakefs/mod.rs | 0
core/{ => core}/src/services/lakefs/writer.rs | 0
core/{ => core}/src/services/memcached/backend.rs | 0
core/{ => core}/src/services/memcached/binary.rs | 0
core/{ => core}/src/services/memcached/config.rs | 0
core/{ => core}/src/services/memcached/core.rs | 0
core/{ => core}/src/services/memcached/deleter.rs | 0
core/{ => core}/src/services/memcached/docs.md | 0
core/{ => core}/src/services/memcached/mod.rs | 0
core/{ => core}/src/services/memcached/writer.rs | 0
core/{ => core}/src/services/memory/backend.rs | 0
core/{ => core}/src/services/memory/config.rs | 0
core/{ => core}/src/services/memory/core.rs | 0
core/{ => core}/src/services/memory/deleter.rs | 0
core/{ => core}/src/services/memory/docs.md | 0
core/{ => core}/src/services/memory/lister.rs | 0
core/{ => core}/src/services/memory/mod.rs | 0
core/{ => core}/src/services/memory/writer.rs | 0
core/{ => core}/src/services/mini_moka/backend.rs | 0
core/{ => core}/src/services/mini_moka/config.rs | 0
core/{ => core}/src/services/mini_moka/core.rs | 0
core/{ => core}/src/services/mini_moka/deleter.rs | 0
core/{ => core}/src/services/mini_moka/docs.md | 0
core/{ => core}/src/services/mini_moka/lister.rs | 0
core/{ => core}/src/services/mini_moka/mod.rs | 0
core/{ => core}/src/services/mini_moka/writer.rs | 0
core/{ => core}/src/services/mod.rs | 0
core/{ => core}/src/services/moka/backend.rs | 0
core/{ => core}/src/services/moka/config.rs | 0
core/{ => core}/src/services/moka/core.rs | 0
core/{ => core}/src/services/moka/deleter.rs | 0
core/{ => core}/src/services/moka/docs.md | 0
core/{ => core}/src/services/moka/lister.rs | 0
core/{ => core}/src/services/moka/mod.rs | 0
core/{ => core}/src/services/moka/writer.rs | 0
core/{ => core}/src/services/mongodb/backend.rs | 0
core/{ => core}/src/services/mongodb/config.rs | 0
core/{ => core}/src/services/mongodb/core.rs | 0
core/{ => core}/src/services/mongodb/deleter.rs | 0
core/{ => core}/src/services/mongodb/docs.md | 0
core/{ => core}/src/services/mongodb/mod.rs | 0
core/{ => core}/src/services/mongodb/writer.rs | 0
core/{ => core}/src/services/monoiofs/backend.rs | 0
core/{ => core}/src/services/monoiofs/config.rs | 0
core/{ => core}/src/services/monoiofs/core.rs | 0
core/{ => core}/src/services/monoiofs/deleter.rs | 0
core/{ => core}/src/services/monoiofs/docs.md | 0
core/{ => core}/src/services/monoiofs/mod.rs | 0
core/{ => core}/src/services/monoiofs/reader.rs | 0
core/{ => core}/src/services/monoiofs/writer.rs | 0
core/{ => core}/src/services/mysql/backend.rs | 0
core/{ => core}/src/services/mysql/config.rs | 0
core/{ => core}/src/services/mysql/core.rs | 0
core/{ => core}/src/services/mysql/deleter.rs | 0
core/{ => core}/src/services/mysql/docs.md | 0
core/{ => core}/src/services/mysql/mod.rs | 0
core/{ => core}/src/services/mysql/writer.rs | 0
core/{ => core}/src/services/obs/backend.rs | 0
core/{ => core}/src/services/obs/config.rs | 0
core/{ => core}/src/services/obs/core.rs | 0
core/{ => core}/src/services/obs/deleter.rs | 0
core/{ => core}/src/services/obs/docs.md | 0
core/{ => core}/src/services/obs/error.rs | 0
core/{ => core}/src/services/obs/lister.rs | 0
core/{ => core}/src/services/obs/mod.rs | 0
core/{ => core}/src/services/obs/writer.rs | 0
core/{ => core}/src/services/onedrive/backend.rs | 0
core/{ => core}/src/services/onedrive/builder.rs | 0
core/{ => core}/src/services/onedrive/config.rs | 0
core/{ => core}/src/services/onedrive/core.rs | 0
core/{ => core}/src/services/onedrive/deleter.rs | 0
core/{ => core}/src/services/onedrive/docs.md | 0
core/{ => core}/src/services/onedrive/error.rs | 0
.../src/services/onedrive/graph_model.rs | 0
core/{ => core}/src/services/onedrive/lister.rs | 0
core/{ => core}/src/services/onedrive/mod.rs | 0
core/{ => core}/src/services/onedrive/writer.rs | 0
core/{ => core}/src/services/opfs/backend.rs | 0
core/{ => core}/src/services/opfs/config.rs | 0
core/{ => core}/src/services/opfs/core.rs | 0
core/{ => core}/src/services/opfs/docs.md | 0
core/{ => core}/src/services/opfs/error.rs | 0
core/{ => core}/src/services/opfs/mod.rs | 0
core/{ => core}/src/services/opfs/utils.rs | 0
core/{ => core}/src/services/oss/backend.rs | 0
core/{ => core}/src/services/oss/config.rs | 0
core/{ => core}/src/services/oss/core.rs | 0
core/{ => core}/src/services/oss/deleter.rs | 0
core/{ => core}/src/services/oss/docs.md | 0
core/{ => core}/src/services/oss/error.rs | 0
core/{ => core}/src/services/oss/lister.rs | 0
core/{ => core}/src/services/oss/mod.rs | 0
core/{ => core}/src/services/oss/writer.rs | 0
core/{ => core}/src/services/pcloud/backend.rs | 0
core/{ => core}/src/services/pcloud/config.rs | 0
core/{ => core}/src/services/pcloud/core.rs | 0
core/{ => core}/src/services/pcloud/deleter.rs | 0
core/{ => core}/src/services/pcloud/docs.md | 0
core/{ => core}/src/services/pcloud/error.rs | 0
core/{ => core}/src/services/pcloud/lister.rs | 0
core/{ => core}/src/services/pcloud/mod.rs | 0
core/{ => core}/src/services/pcloud/writer.rs | 0
core/{ => core}/src/services/persy/backend.rs | 0
core/{ => core}/src/services/persy/config.rs | 0
core/{ => core}/src/services/persy/core.rs | 0
core/{ => core}/src/services/persy/deleter.rs | 0
core/{ => core}/src/services/persy/docs.md | 0
core/{ => core}/src/services/persy/mod.rs | 0
core/{ => core}/src/services/persy/writer.rs | 0
core/{ => core}/src/services/postgresql/backend.rs | 0
core/{ => core}/src/services/postgresql/config.rs | 0
core/{ => core}/src/services/postgresql/core.rs | 0
core/{ => core}/src/services/postgresql/deleter.rs | 0
core/{ => core}/src/services/postgresql/docs.md | 0
core/{ => core}/src/services/postgresql/mod.rs | 0
core/{ => core}/src/services/postgresql/writer.rs | 0
core/{ => core}/src/services/redb/backend.rs | 0
core/{ => core}/src/services/redb/config.rs | 0
core/{ => core}/src/services/redb/core.rs | 0
core/{ => core}/src/services/redb/deleter.rs | 0
core/{ => core}/src/services/redb/docs.md | 0
core/{ => core}/src/services/redb/mod.rs | 0
core/{ => core}/src/services/redb/writer.rs | 0
core/{ => core}/src/services/redis/backend.rs | 0
core/{ => core}/src/services/redis/config.rs | 0
core/{ => core}/src/services/redis/core.rs | 0
core/{ => core}/src/services/redis/delete.rs | 0
core/{ => core}/src/services/redis/docs.md | 0
core/{ => core}/src/services/redis/mod.rs | 0
core/{ => core}/src/services/redis/writer.rs | 0
core/{ => core}/src/services/rocksdb/backend.rs | 0
core/{ => core}/src/services/rocksdb/config.rs | 0
core/{ => core}/src/services/rocksdb/core.rs | 0
core/{ => core}/src/services/rocksdb/deleter.rs | 0
core/{ => core}/src/services/rocksdb/docs.md | 0
core/{ => core}/src/services/rocksdb/lister.rs | 0
core/{ => core}/src/services/rocksdb/mod.rs | 0
core/{ => core}/src/services/rocksdb/writer.rs | 0
core/{ => core}/src/services/s3/backend.rs | 0
.../src/services/s3/compatible_services.md | 0
core/{ => core}/src/services/s3/config.rs | 0
core/{ => core}/src/services/s3/core.rs | 0
core/{ => core}/src/services/s3/deleter.rs | 0
core/{ => core}/src/services/s3/docs.md | 0
core/{ => core}/src/services/s3/error.rs | 0
core/{ => core}/src/services/s3/lister.rs | 0
core/{ => core}/src/services/s3/mod.rs | 0
core/{ => core}/src/services/s3/writer.rs | 0
core/{ => core}/src/services/seafile/backend.rs | 0
core/{ => core}/src/services/seafile/config.rs | 0
core/{ => core}/src/services/seafile/core.rs | 0
core/{ => core}/src/services/seafile/deleter.rs | 0
core/{ => core}/src/services/seafile/docs.md | 0
core/{ => core}/src/services/seafile/error.rs | 0
core/{ => core}/src/services/seafile/lister.rs | 0
core/{ => core}/src/services/seafile/mod.rs | 0
core/{ => core}/src/services/seafile/writer.rs | 0
core/{ => core}/src/services/sftp/backend.rs | 0
core/{ => core}/src/services/sftp/config.rs | 0
core/{ => core}/src/services/sftp/core.rs | 0
core/{ => core}/src/services/sftp/deleter.rs | 0
core/{ => core}/src/services/sftp/docs.md | 0
core/{ => core}/src/services/sftp/error.rs | 0
core/{ => core}/src/services/sftp/lister.rs | 0
core/{ => core}/src/services/sftp/mod.rs | 0
core/{ => core}/src/services/sftp/reader.rs | 0
core/{ => core}/src/services/sftp/utils.rs | 0
core/{ => core}/src/services/sftp/writer.rs | 0
core/{ => core}/src/services/sled/backend.rs | 0
core/{ => core}/src/services/sled/config.rs | 0
core/{ => core}/src/services/sled/core.rs | 0
core/{ => core}/src/services/sled/deleter.rs | 0
core/{ => core}/src/services/sled/docs.md | 0
core/{ => core}/src/services/sled/lister.rs | 0
core/{ => core}/src/services/sled/mod.rs | 0
core/{ => core}/src/services/sled/writer.rs | 0
core/{ => core}/src/services/sqlite/backend.rs | 0
core/{ => core}/src/services/sqlite/config.rs | 0
core/{ => core}/src/services/sqlite/core.rs | 0
core/{ => core}/src/services/sqlite/deleter.rs | 0
core/{ => core}/src/services/sqlite/docs.md | 0
core/{ => core}/src/services/sqlite/mod.rs | 0
core/{ => core}/src/services/sqlite/writer.rs | 0
core/{ => core}/src/services/surrealdb/backend.rs | 0
core/{ => core}/src/services/surrealdb/config.rs | 0
core/{ => core}/src/services/surrealdb/core.rs | 0
core/{ => core}/src/services/surrealdb/deleter.rs | 0
core/{ => core}/src/services/surrealdb/docs.md | 0
core/{ => core}/src/services/surrealdb/mod.rs | 0
core/{ => core}/src/services/surrealdb/writer.rs | 0
core/{ => core}/src/services/swift/backend.rs | 0
.../src/services/swift/compatible_services.md | 0
core/{ => core}/src/services/swift/config.rs | 0
core/{ => core}/src/services/swift/core.rs | 0
core/{ => core}/src/services/swift/deleter.rs | 0
core/{ => core}/src/services/swift/docs.md | 0
core/{ => core}/src/services/swift/error.rs | 0
core/{ => core}/src/services/swift/lister.rs | 0
core/{ => core}/src/services/swift/mod.rs | 0
core/{ => core}/src/services/swift/writer.rs | 0
core/{ => core}/src/services/tikv/backend.rs | 0
core/{ => core}/src/services/tikv/config.rs | 0
core/{ => core}/src/services/tikv/core.rs | 0
core/{ => core}/src/services/tikv/deleter.rs | 0
core/{ => core}/src/services/tikv/docs.md | 0
core/{ => core}/src/services/tikv/mod.rs | 0
core/{ => core}/src/services/tikv/writer.rs | 0
core/{ => core}/src/services/upyun/backend.rs | 0
core/{ => core}/src/services/upyun/config.rs | 0
core/{ => core}/src/services/upyun/core.rs | 0
core/{ => core}/src/services/upyun/deleter.rs | 0
core/{ => core}/src/services/upyun/docs.md | 0
core/{ => core}/src/services/upyun/error.rs | 0
core/{ => core}/src/services/upyun/lister.rs | 0
core/{ => core}/src/services/upyun/mod.rs | 0
core/{ => core}/src/services/upyun/writer.rs | 0
.../src/services/vercel_artifacts/backend.rs | 0
.../src/services/vercel_artifacts/builder.rs | 0
.../src/services/vercel_artifacts/config.rs | 0
.../src/services/vercel_artifacts/core.rs | 0
.../src/services/vercel_artifacts/docs.md | 0
.../src/services/vercel_artifacts/error.rs | 0
.../src/services/vercel_artifacts/mod.rs | 0
.../src/services/vercel_artifacts/writer.rs | 0
.../{ => core}/src/services/vercel_blob/backend.rs | 0
core/{ => core}/src/services/vercel_blob/config.rs | 0
core/{ => core}/src/services/vercel_blob/core.rs | 0
.../{ => core}/src/services/vercel_blob/deleter.rs | 0
core/{ => core}/src/services/vercel_blob/docs.md | 0
core/{ => core}/src/services/vercel_blob/error.rs | 0
core/{ => core}/src/services/vercel_blob/lister.rs | 0
core/{ => core}/src/services/vercel_blob/mod.rs | 0
core/{ => core}/src/services/vercel_blob/writer.rs | 0
core/{ => core}/src/services/webdav/backend.rs | 0
core/{ => core}/src/services/webdav/config.rs | 0
core/{ => core}/src/services/webdav/core.rs | 0
core/{ => core}/src/services/webdav/deleter.rs | 0
core/{ => core}/src/services/webdav/docs.md | 0
core/{ => core}/src/services/webdav/error.rs | 0
core/{ => core}/src/services/webdav/lister.rs | 0
core/{ => core}/src/services/webdav/mod.rs | 0
core/{ => core}/src/services/webdav/writer.rs | 0
core/{ => core}/src/services/webhdfs/backend.rs | 0
core/{ => core}/src/services/webhdfs/config.rs | 0
core/{ => core}/src/services/webhdfs/core.rs | 0
core/{ => core}/src/services/webhdfs/deleter.rs | 0
core/{ => core}/src/services/webhdfs/docs.md | 0
core/{ => core}/src/services/webhdfs/error.rs | 0
core/{ => core}/src/services/webhdfs/lister.rs | 0
core/{ => core}/src/services/webhdfs/message.rs | 0
core/{ => core}/src/services/webhdfs/mod.rs | 0
core/{ => core}/src/services/webhdfs/writer.rs | 0
.../{ => core}/src/services/yandex_disk/backend.rs | 0
core/{ => core}/src/services/yandex_disk/config.rs | 0
core/{ => core}/src/services/yandex_disk/core.rs | 0
.../{ => core}/src/services/yandex_disk/deleter.rs | 0
core/{ => core}/src/services/yandex_disk/docs.md | 0
core/{ => core}/src/services/yandex_disk/error.rs | 0
core/{ => core}/src/services/yandex_disk/lister.rs | 0
core/{ => core}/src/services/yandex_disk/mod.rs | 0
core/{ => core}/src/services/yandex_disk/writer.rs | 0
core/{ => core}/src/types/buffer.rs | 0
core/{ => core}/src/types/builder.rs | 0
core/{ => core}/src/types/capability.rs | 0
core/{ => core}/src/types/context/mod.rs | 0
core/{ => core}/src/types/context/read.rs | 0
core/{ => core}/src/types/context/write.rs | 0
core/{ => core}/src/types/delete/deleter.rs | 0
.../src/types/delete/futures_delete_sink.rs | 0
core/{ => core}/src/types/delete/input.rs | 0
core/{ => core}/src/types/delete/mod.rs | 0
core/{ => core}/src/types/entry.rs | 0
core/{ => core}/src/types/error.rs | 0
core/{ => core}/src/types/execute/api.rs | 0
core/{ => core}/src/types/execute/executor.rs | 0
core/{ => core}/src/types/execute/executors/mod.rs | 0
.../src/types/execute/executors/tokio_executor.rs | 0
core/{ => core}/src/types/execute/mod.rs | 0
core/{ => core}/src/types/list.rs | 0
core/{ => core}/src/types/metadata.rs | 0
core/{ => core}/src/types/mod.rs | 0
core/{ => core}/src/types/mode.rs | 0
core/{ => core}/src/types/operator/builder.rs | 0
core/{ => core}/src/types/operator/info.rs | 0
core/{ => core}/src/types/operator/mod.rs | 0
core/{ => core}/src/types/operator/operator.rs | 0
.../src/types/operator/operator_futures.rs | 0
core/{ => core}/src/types/operator/registry.rs | 0
core/{ => core}/src/types/operator/uri.rs | 0
core/{ => core}/src/types/options.rs | 0
core/{ => core}/src/types/read/buffer_stream.rs | 0
.../src/types/read/futures_async_reader.rs | 0
.../src/types/read/futures_bytes_stream.rs | 0
core/{ => core}/src/types/read/mod.rs | 0
core/{ => core}/src/types/read/reader.rs | 0
core/{ => core}/src/types/scheme.rs | 0
core/{ => core}/src/types/write/buffer_sink.rs | 0
.../src/types/write/futures_async_writer.rs | 0
.../src/types/write/futures_bytes_sink.rs | 0
core/{ => core}/src/types/write/mod.rs | 0
core/{ => core}/src/types/write/writer.rs | 0
core/src/lib.rs | 181 +-------
core/upgrade.md | 2 +-
756 files changed, 231 insertions(+), 608 deletions(-)
diff --git a/core/Cargo.lock b/core/Cargo.lock
index ec9f24284..8993b5829 100644
--- a/core/Cargo.lock
+++ b/core/Cargo.lock
@@ -2649,7 +2649,7 @@ dependencies = [
[[package]]
name = "edge_test_aws_s3_assume_role_with_web_identity"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"opendal",
"tokio",
@@ -2659,7 +2659,7 @@ dependencies = [
[[package]]
name = "edge_test_file_write_on_full_disk"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"futures",
"opendal",
@@ -2669,7 +2669,7 @@ dependencies = [
[[package]]
name = "edge_test_s3_read_on_wasm"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"opendal",
"wasm-bindgen",
@@ -3929,6 +3929,22 @@ dependencies = [
"tower-service",
]
+[[package]]
+name = "hyper-tls"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
+dependencies = [
+ "bytes",
+ "http-body-util",
+ "hyper 1.8.1",
+ "hyper-util",
+ "native-tls",
+ "tokio",
+ "tokio-native-tls",
+ "tower-service",
+]
+
[[package]]
name = "hyper-util"
version = "0.1.18"
@@ -3948,9 +3964,11 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"socket2 0.6.1",
+ "system-configuration",
"tokio",
"tower-service",
"tracing",
+ "windows-registry",
]
[[package]]
@@ -5344,6 +5362,62 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
[[package]]
name = "opendal"
version = "0.55.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "criterion",
+ "divan",
+ "dotenvy",
+ "fastrace",
+ "fastrace-jaeger",
+ "futures",
+ "http 1.3.1",
+ "libtest-mimic",
+ "log",
+ "opendal-core",
+ "opentelemetry",
+ "opentelemetry-otlp",
+ "opentelemetry_sdk",
+ "pretty_assertions",
+ "rand 0.8.5",
+ "reqwest",
+ "sha2",
+ "size",
+ "tokio",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+ "uuid",
+]
+
+[[package]]
+name = "opendal-benchmark-vs-fs"
+version = "0.0.0"
+dependencies = [
+ "criterion",
+ "opendal",
+ "rand 0.8.5",
+ "tokio",
+ "uuid",
+]
+
+[[package]]
+name = "opendal-benchmark-vs-s3"
+version = "0.0.0"
+dependencies = [
+ "aws-config",
+ "aws-credential-types",
+ "aws-sdk-s3",
+ "criterion",
+ "dotenvy",
+ "logforth",
+ "opendal",
+ "rand 0.8.5",
+ "tokio",
+]
+
+[[package]]
+name = "opendal-core"
+version = "0.55.0"
dependencies = [
"anyhow",
"async-backtrace",
@@ -5435,35 +5509,9 @@ dependencies = [
"web-time",
]
-[[package]]
-name = "opendal-benchmark-vs-fs"
-version = "0.0.0"
-dependencies = [
- "criterion",
- "opendal",
- "rand 0.8.5",
- "tokio",
- "uuid",
-]
-
-[[package]]
-name = "opendal-benchmark-vs-s3"
-version = "0.0.0"
-dependencies = [
- "aws-config",
- "aws-credential-types",
- "aws-sdk-s3",
- "criterion",
- "dotenvy",
- "logforth",
- "opendal",
- "rand 0.8.5",
- "tokio",
-]
-
[[package]]
name = "opendal-examples-basic"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"futures",
"opendal",
@@ -5472,7 +5520,7 @@ dependencies = [
[[package]]
name = "opendal-examples-concurrent-upload"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"futures",
"opendal",
@@ -5481,7 +5529,7 @@ dependencies = [
[[package]]
name = "opendal-examples-multipart-upload"
-version = "0.54.0"
+version = "0.55.0"
dependencies = [
"futures",
"opendal",
@@ -7067,18 +7115,23 @@ checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f"
dependencies = [
"base64 0.22.1",
"bytes",
+ "encoding_rs",
"futures-channel",
"futures-core",
"futures-util",
+ "h2 0.4.12",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
"hyper 1.8.1",
"hyper-rustls 0.27.7",
+ "hyper-tls",
"hyper-util",
"js-sys",
"log",
+ "mime",
"mime_guess",
+ "native-tls",
"percent-encoding",
"pin-project-lite",
"quinn",
@@ -7089,6 +7142,7 @@ dependencies = [
"serde_urlencoded",
"sync_wrapper 1.0.2",
"tokio",
+ "tokio-native-tls",
"tokio-rustls 0.26.4",
"tokio-util",
"tower 0.5.2",
@@ -8581,6 +8635,27 @@ dependencies = [
"windows 0.57.0",
]
+[[package]]
+name = "system-configuration"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
+dependencies = [
+ "bitflags 2.10.0",
+ "core-foundation 0.9.4",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
[[package]]
name = "tagptr"
version = "0.2.0"
@@ -9914,6 +9989,17 @@ dependencies = [
"windows-link",
]
+[[package]]
+name = "windows-registry"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
+dependencies = [
+ "windows-link",
+ "windows-result 0.4.1",
+ "windows-strings",
+]
+
[[package]]
name = "windows-result"
version = "0.1.2"
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 188b63fdf..ad1c92f74 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -15,6 +15,16 @@
# specific language governing permissions and limitations
# under the License.
+[workspace]
+default-members = [".", "core"]
+members = [".", "core", "examples/*", "fuzz", "edge/*", "benches/vs_*"]
+
+[workspace.package]
+edition = "2024"
+license = "Apache-2.0"
+rust-version = "1.85"
+version = "0.55.0"
+
[package]
categories = ["filesystem"]
description = "Apache OpenDALâ„¢: One Layer, All Storage."
@@ -36,188 +46,91 @@ unused_async = "warn"
[package.metadata.docs.rs]
all-features = true
-[workspace]
-default-members = ["."]
-members = [".", "examples/*", "fuzz", "edge/*", "benches/vs_*"]
-
-[workspace.package]
-edition = "2024"
-license = "Apache-2.0"
-rust-version = "1.85"
-version = "0.54.0"
-
[features]
-default = ["reqwest/rustls-tls", "executors-tokio", "services-memory"]
-
-# Enable opendal's blocking support.
-blocking = ["internal-tokio-rt"]
-
-# Build test utils or not.
-#
-# These features are used to control whether to build opendal's test utils.
-# And doesn't have any other effects.
-#
-# You should never enable this feature unless you are developing opendal.
-tests = [
- "dep:rand",
- "dep:sha2",
- "dep:dotenvy",
- "services-azblob",
- "services-azdls",
- "services-azfile",
- "services-fs",
- "services-http",
- "services-memory",
- "internal-tokio-rt",
- "services-s3",
-]
-
-# Enable path cache.
-# This is an internal feature, and should not be used by users.
-internal-path-cache = ["dep:moka"]
-# Enable tokio runtime.
-internal-tokio-rt = ["tokio/rt-multi-thread"]
-
-# Enable tokio executors support.
-executors-tokio = ["tokio/rt"]
-
-# Enable layers chaos support
-layers-chaos = ["dep:rand"]
-# Enable layers metrics support
-layers-metrics = ["dep:metrics"]
-# Enable layers mime_guess support
-layers-mime-guess = ["dep:mime_guess"]
-# Enable layers prometheus support, with tikv/prometheus-rs crate
-layers-prometheus = ["dep:prometheus"]
-# Enable layers prometheus support, with prometheus-client crate
-layers-prometheus-client = ["dep:prometheus-client"]
-# Enable layers fastmetrics support.
-layers-fastmetrics = ["dep:fastmetrics"]
-# Enable layers fastrace support.
-layers-fastrace = ["dep:fastrace"]
-# Enable layers tracing support.
-layers-tracing = ["dep:tracing"]
-# Enable layers otelmetrics support.
-layers-otel-metrics = ["dep:opentelemetry", "opentelemetry/metrics"]
-# Enable layers oteltrace support.
-layers-otel-trace = ["dep:opentelemetry", "opentelemetry/trace"]
-# Enable layers throttle support.
-layers-throttle = ["dep:governor"]
-# Enable layers await-tree support.
-layers-await-tree = ["dep:await-tree"]
-# Enable layers async-backtrace support.
-layers-async-backtrace = ["dep:async-backtrace"]
-# Enable dtrace support.
-layers-dtrace = ["dep:probe"]
-
-services-aliyun-drive = []
-services-alluxio = []
-services-azblob = [
- "dep:sha2",
- "dep:reqsign",
- "reqsign?/services-azblob",
- "reqsign?/reqwest_request",
-]
-services-azdls = [
- "dep:reqsign",
- "reqsign?/services-azblob",
- "reqsign?/reqwest_request",
-]
-services-azfile = [
- "dep:reqsign",
- "reqsign?/services-azblob",
- "reqsign?/reqwest_request",
-]
-services-b2 = []
-services-cacache = ["dep:cacache"]
-services-cloudflare-kv = []
-services-compfs = ["dep:compio"]
-services-cos = [
- "dep:reqsign",
- "reqsign?/services-tencent",
- "reqsign?/reqwest_request",
-]
-services-d1 = []
-services-dashmap = ["dep:dashmap"]
-services-dbfs = []
-services-dropbox = []
-services-etcd = ["dep:etcd-client", "dep:fastpool"]
-services-foundationdb = ["dep:foundationdb"]
-services-fs = ["tokio/fs", "internal-tokio-rt"]
-services-ftp = [
- "dep:suppaftp",
- "dep:fastpool",
- "dep:futures-rustls",
- "dep:rustls-native-certs",
-]
-services-gcs = [
- "dep:reqsign",
- "reqsign?/services-google",
- "reqsign?/reqwest_request",
-]
-services-gdrive = ["internal-path-cache"]
-services-ghac = ["dep:ghac", "dep:prost", "services-azblob"]
-services-github = []
-services-gridfs = ["dep:mongodb", "dep:mongodb-internal-macros"]
-services-hdfs = ["dep:hdrs"]
-services-hdfs-native = ["hdfs-native"]
-services-http = []
-services-huggingface = []
-services-ipfs = ["dep:prost"]
-services-ipmfs = []
-services-koofr = []
-services-lakefs = []
-services-memcached = ["dep:fastpool"]
-services-memory = []
-services-mini-moka = ["dep:mini-moka"]
-services-moka = ["dep:moka"]
-services-mongodb = ["dep:mongodb", "dep:mongodb-internal-macros"]
-services-monoiofs = ["dep:monoio", "dep:flume"]
-services-mysql = ["dep:sqlx", "sqlx?/mysql"]
-services-obs = [
- "dep:reqsign",
- "reqsign?/services-huaweicloud",
- "reqsign?/reqwest_request",
-]
-services-onedrive = []
-services-opfs = [
- "dep:js-sys",
- "dep:wasm-bindgen",
- "dep:wasm-bindgen-futures",
- "dep:web-sys",
-]
-services-oss = [
- "dep:reqsign",
- "reqsign?/services-aliyun",
- "reqsign?/reqwest_request",
-]
-services-pcloud = []
-services-persy = ["dep:persy", "internal-tokio-rt"]
-services-postgresql = ["dep:sqlx", "sqlx?/postgres"]
-services-redb = ["dep:redb", "internal-tokio-rt"]
-services-redis = ["dep:redis", "dep:fastpool", "redis?/tokio-rustls-comp"]
-services-redis-native-tls = ["services-redis", "redis?/tokio-native-tls-comp"]
-services-rocksdb = ["dep:rocksdb", "internal-tokio-rt"]
-services-s3 = [
- "dep:reqsign-core",
- "dep:reqsign-aws-v4",
- "dep:reqsign-file-read-tokio",
- "dep:reqsign-http-send-reqwest",
- "dep:crc32c",
-]
-services-seafile = []
-services-sftp = ["dep:openssh", "dep:openssh-sftp-client", "dep:fastpool"]
-services-sled = ["dep:sled", "internal-tokio-rt"]
-services-sqlite = ["dep:sqlx", "sqlx?/sqlite", "dep:ouroboros"]
-services-surrealdb = ["dep:surrealdb"]
-services-swift = []
-services-tikv = ["tikv-client"]
-services-upyun = ["dep:hmac", "dep:sha1"]
-services-vercel-artifacts = []
-services-vercel-blob = []
-services-webdav = []
-services-webhdfs = []
-services-yandex-disk = []
+default = ["reqwest-rustls-tls", "executors-tokio", "services-memory"]
+reqwest-rustls-tls = ["opendal-core/reqwest-rustls-tls"]
+blocking = ["opendal-core/blocking"]
+tests = ["opendal-core/tests"]
+internal-path-cache = ["opendal-core/internal-path-cache"]
+internal-tokio-rt = ["opendal-core/internal-tokio-rt"]
+executors-tokio = ["opendal-core/executors-tokio"]
+layers-chaos = ["opendal-core/layers-chaos"]
+layers-metrics = ["opendal-core/layers-metrics"]
+layers-mime-guess = ["opendal-core/layers-mime-guess"]
+layers-prometheus = ["opendal-core/layers-prometheus"]
+layers-prometheus-client = ["opendal-core/layers-prometheus-client"]
+layers-fastmetrics = ["opendal-core/layers-fastmetrics"]
+layers-fastrace = ["opendal-core/layers-fastrace"]
+layers-tracing = ["opendal-core/layers-tracing"]
+layers-otel-metrics = ["opendal-core/layers-otel-metrics"]
+layers-otel-trace = ["opendal-core/layers-otel-trace"]
+layers-throttle = ["opendal-core/layers-throttle"]
+layers-await-tree = ["opendal-core/layers-await-tree"]
+layers-async-backtrace = ["opendal-core/layers-async-backtrace"]
+layers-dtrace = ["opendal-core/layers-dtrace"]
+services-aliyun-drive = ["opendal-core/services-aliyun-drive"]
+services-alluxio = ["opendal-core/services-alluxio"]
+services-azblob = ["opendal-core/services-azblob"]
+services-azdls = ["opendal-core/services-azdls"]
+services-azfile = ["opendal-core/services-azfile"]
+services-b2 = ["opendal-core/services-b2"]
+services-cacache = ["opendal-core/services-cacache"]
+services-cloudflare-kv = ["opendal-core/services-cloudflare-kv"]
+services-compfs = ["opendal-core/services-compfs"]
+services-cos = ["opendal-core/services-cos"]
+services-d1 = ["opendal-core/services-d1"]
+services-dashmap = ["opendal-core/services-dashmap"]
+services-dbfs = ["opendal-core/services-dbfs"]
+services-dropbox = ["opendal-core/services-dropbox"]
+services-etcd = ["opendal-core/services-etcd"]
+services-foundationdb = ["opendal-core/services-foundationdb"]
+services-fs = ["opendal-core/services-fs"]
+services-ftp = ["opendal-core/services-ftp"]
+services-gcs = ["opendal-core/services-gcs"]
+services-gdrive = ["opendal-core/services-gdrive"]
+services-ghac = ["opendal-core/services-ghac"]
+services-github = ["opendal-core/services-github"]
+services-gridfs = ["opendal-core/services-gridfs"]
+services-hdfs = ["opendal-core/services-hdfs"]
+services-hdfs-native = ["opendal-core/services-hdfs-native"]
+services-http = ["opendal-core/services-http"]
+services-huggingface = ["opendal-core/services-huggingface"]
+services-ipfs = ["opendal-core/services-ipfs"]
+services-ipmfs = ["opendal-core/services-ipmfs"]
+services-koofr = ["opendal-core/services-koofr"]
+services-lakefs = ["opendal-core/services-lakefs"]
+services-memcached = ["opendal-core/services-memcached"]
+services-memory = ["opendal-core/services-memory"]
+services-mini-moka = ["opendal-core/services-mini-moka"]
+services-moka = ["opendal-core/services-moka"]
+services-mongodb = ["opendal-core/services-mongodb"]
+services-monoiofs = ["opendal-core/services-monoiofs"]
+services-mysql = ["opendal-core/services-mysql"]
+services-obs = ["opendal-core/services-obs"]
+services-onedrive = ["opendal-core/services-onedrive"]
+services-opfs = ["opendal-core/services-opfs"]
+services-oss = ["opendal-core/services-oss"]
+services-pcloud = ["opendal-core/services-pcloud"]
+services-persy = ["opendal-core/services-persy"]
+services-postgresql = ["opendal-core/services-postgresql"]
+services-redb = ["opendal-core/services-redb"]
+services-redis = ["opendal-core/services-redis"]
+services-redis-native-tls = ["opendal-core/services-redis-native-tls"]
+services-rocksdb = ["opendal-core/services-rocksdb"]
+services-s3 = ["opendal-core/services-s3"]
+services-seafile = ["opendal-core/services-seafile"]
+services-sftp = ["opendal-core/services-sftp"]
+services-sled = ["opendal-core/services-sled"]
+services-sqlite = ["opendal-core/services-sqlite"]
+services-surrealdb = ["opendal-core/services-surrealdb"]
+services-swift = ["opendal-core/services-swift"]
+services-tikv = ["opendal-core/services-tikv"]
+services-upyun = ["opendal-core/services-upyun"]
+services-vercel-artifacts = ["opendal-core/services-vercel-artifacts"]
+services-vercel-blob = ["opendal-core/services-vercel-blob"]
+services-webdav = ["opendal-core/services-webdav"]
+services-webhdfs = ["opendal-core/services-webhdfs"]
+services-yandex-disk = ["opendal-core/services-yandex-disk"]
[lib]
bench = false
@@ -238,198 +151,20 @@ path = "tests/behavior/main.rs"
required-features = ["tests"]
[dependencies]
-# Required dependencies
-anyhow = { version = "1.0.100", features = ["std"] }
-backon = { version = "1.6", features = ["tokio-sleep"] }
-base64 = "0.22"
-bytes = "1.6"
-futures = { version = "0.3", default-features = false, features = [
- "std",
- "async-await",
-] }
-http = "1.1"
-http-body = "1"
-jiff = { version = "0.2.15", features = ["serde"] }
-log = "0.4"
-md-5 = "0.10"
-mea = { version = "0.5.1" }
-percent-encoding = "2"
-quick-xml = { version = "0.38", features = ["serialize", "overlapped-lists"] }
-reqwest = { version = "0.12.24", features = [
- "stream",
-], default-features = false }
-serde = { version = "1", features = ["derive"] }
-serde_json = "1"
-tokio = { version = "1.48", features = ["macros", "io-util"] }
-url = "2.5"
-uuid = { version = "1", features = ["serde", "v4"] }
-
-# Test only dependencies
-dotenvy = { version = "0.15", optional = true }
-rand = { version = "0.8", optional = true }
-
-# Optional dependencies
-
-# Services
-# general dependencies.
-fastpool = { version = "1.0.2", optional = true }
-prost = { version = "0.13", optional = true }
-sha1 = { version = "0.10.6", optional = true }
-sha2 = { version = "0.10", optional = true }
-sqlx = { version = "0.8.0", features = [
- "runtime-tokio-rustls",
-], optional = true }
-
-# For http based services.
-reqsign = { version = "0.16.5", default-features = false, optional = true }
-# For S3 service migration to v1
-reqsign-aws-v4 = { version = "2.0.1", default-features = false, optional = true }
-reqsign-core = { version = "2.0.1", default-features = false, optional = true }
-reqsign-file-read-tokio = { version = "2.0.1", default-features = false, optional = true }
-reqsign-http-send-reqwest = { version = "2.0.1", default-features = false, optional = true }
-
-# for self-referencing structs
-ouroboros = { version = "0.18.4", optional = true }
-
-# for services-cacache
-cacache = { version = "13.0", default-features = false, features = [
- "tokio-runtime",
- "mmap",
-], optional = true }
-# for services-dashmap
-dashmap = { version = "6", optional = true }
-# for services-etcd
-etcd-client = { version = "0.17", optional = true, features = ["tls"] }
-# for services-foundationdb
-foundationdb = { version = "0.9.0", features = [
- "embedded-fdb-include",
- "fdb-7_3",
-], optional = true }
-# for services-ghac
-ghac = { version = "0.2.0", optional = true }
-# for services-hdfs
-hdrs = { version = "0.3.2", optional = true, features = ["async_file"] }
-# for services-upyun
-hmac = { version = "0.12.1", optional = true }
-# for services-mini-moka
-mini-moka = { version = "0.10", optional = true }
-# for services-moka
-moka = { version = "0.12", optional = true, features = ["future", "sync"] }
-# for services-mongodb
-mongodb = { version = "3.3.0", optional = true }
-mongodb-internal-macros = { version = "3.2.4", optional = true }
-# for services-sftp
-openssh = { version = "0.11.0", optional = true }
-openssh-sftp-client = { version = "0.15.3", optional = true, features = [
- "openssh",
- "tracing",
-] }
-# for services-persy
-persy = { version = "1.7.1", optional = true }
-# for services-redb
-redb = { version = "2", optional = true }
-# for services-redis
-redis = { version = "0.32", features = [
- "cluster-async",
- "tokio-comp",
- "connection-manager",
-], optional = true }
-# for services-rocksdb
-rocksdb = { version = "0.21.0", default-features = false, optional = true }
-# for services-sled
-sled = { version = "0.34.7", optional = true }
-# for services-ftp
-futures-rustls = { version = "0.26.0", optional = true }
-rustls-native-certs = { version = "0.8", optional = true }
-suppaftp = { version = "6.3.0", default-features = false, features = [
- "async-secure",
- "rustls",
- "async-rustls",
-], optional = true }
-# for services-tikv
-tikv-client = { version = "0.3.0", optional = true, default-features = false }
-# for services-hdfs-native
-hdfs-native = { version = "0.13", optional = true }
-# for services-surrealdb
-surrealdb = { version = "2", optional = true, features = ["protocol-http"] }
-# for services-compfs
-compio = { version = "0.16.0", optional = true, features = [
- "runtime",
- "bytes",
- "polling",
- "dispatcher",
-] }
-# for services-s3
-crc32c = { version = "0.6.6", optional = true }
-# for services-monoiofs
-flume = { version = "0.11", optional = true }
-monoio = { version = "0.2.4", optional = true, features = [
- "sync",
- "mkdirat",
- "unlinkat",
- "renameat",
-] }
-# for service-opfs
-js-sys = { version = "0.3.77", optional = true }
-wasm-bindgen = { version = "0.2.100", optional = true }
-wasm-bindgen-futures = { version = "0.4.50", optional = true }
-web-sys = { version = "0.3.77", optional = true, features = [
- "Window",
- "File",
- "FileSystemDirectoryHandle",
- "FileSystemFileHandle",
- "FileSystemGetDirectoryOptions",
- "FileSystemGetFileOptions",
- "FileSystemWritableFileStream",
- "Navigator",
- "StorageManager",
- "FileSystemGetFileOptions",
-] }
-
-# Layers
-# for layers-async-backtrace
-async-backtrace = { version = "0.2.6", optional = true }
-# for layers-await-tree
-await-tree = { version = "0.3", optional = true }
-# for layers-throttle
-governor = { version = "0.10.1", optional = true, features = ["std"] }
-# for layers-metrics
-metrics = { version = "0.24", optional = true }
-# for layers-mime-guess
-mime_guess = { version = "2.0.5", optional = true }
-# for layers-fastrace
-fastrace = { version = "0.7.14", optional = true }
-# for layers-opentelemetry
-opentelemetry = { version = "0.31.0", optional = true }
-# for layers-prometheus
-prometheus = { version = "0.14", features = ["process"], optional = true }
-# for layers-prometheus-client
-prometheus-client = { version = "0.24", optional = true }
-# for fastmetrics
-fastmetrics = { version = "0.4.1", optional = true }
-# for layers-tracing
-tracing = { version = "0.1", optional = true }
-# for layers-dtrace
-probe = { version = "0.5.1", optional = true }
-
-[target.'cfg(target_arch = "wasm32")'.dependencies]
-backon = { version = "1.6", features = ["gloo-timers-sleep"] }
-getrandom = { version = "0.2", features = ["js"] }
-jiff = { version = "0.2.15", features = ["serde", "js"] }
-tokio = { version = "1.48", features = ["time"] }
-uuid = { version = "1.18", features = ["serde", "v4", "js"] }
-web-time = { version = "1.1.0" }
+opendal-core = { path = "core", version = "0.55.0", default-features = false }
[dev-dependencies]
+futures = "0.3"
+uuid = { version = "1", features = ["serde", "v4"] }
+bytes = "1.10"
+anyhow = { version = "1.0.100", features = ["std"] }
criterion = { version = "0.7", features = ["async", "async_tokio"] }
divan = { version = "0.1" }
dotenvy = "0.15"
fastrace = { version = "0.7", features = ["enable"] }
fastrace-jaeger = "0.7"
libtest-mimic = "0.8"
-opentelemetry = { version = "0.31.0", default-features = false, features = [
- "trace",
-] }
+opentelemetry = { version = "0.31.0", default-features = false, features = ["trace"] }
opentelemetry-otlp = { version = "0.31.0", features = ["grpc-tonic"] }
opentelemetry_sdk = { version = "0.31.0", features = ["rt-tokio"] }
pretty_assertions = "1"
@@ -438,7 +173,7 @@ sha2 = "0.10"
size = "0.5"
tokio = { version = "1.48", features = ["fs", "macros", "rt-multi-thread"] }
tracing-opentelemetry = "0.32.0"
-tracing-subscriber = { version = "0.3", features = [
- "env-filter",
- "tracing-log",
-] }
+tracing-subscriber = { version = "0.3", features = ["env-filter", "tracing-log"] }
+reqwest = { version = "0.12.24"}
+http = "1.1"
+log = "0.4"
diff --git a/core/Cargo.toml b/core/core/Cargo.toml
similarity index 96%
copy from core/Cargo.toml
copy to core/core/Cargo.toml
index 188b63fdf..666962a1d 100644
--- a/core/Cargo.toml
+++ b/core/core/Cargo.toml
@@ -20,7 +20,7 @@ categories = ["filesystem"]
description = "Apache OpenDALâ„¢: One Layer, All Storage."
exclude = ["/tests/"]
keywords = ["storage", "fs", "s3", "azblob", "gcs"]
-name = "opendal"
+name = "opendal-core"
authors = ["Apache OpenDAL <de...@opendal.apache.org>"]
edition = "2024"
@@ -36,18 +36,11 @@ unused_async = "warn"
[package.metadata.docs.rs]
all-features = true
-[workspace]
-default-members = ["."]
-members = [".", "examples/*", "fuzz", "edge/*", "benches/vs_*"]
-
-[workspace.package]
-edition = "2024"
-license = "Apache-2.0"
-rust-version = "1.85"
-version = "0.54.0"
-
[features]
-default = ["reqwest/rustls-tls", "executors-tokio", "services-memory"]
+default = ["reqwest-rustls-tls", "executors-tokio", "services-memory"]
+
+# Enable reqwest rustls tls support.
+reqwest-rustls-tls = ["reqwest/rustls-tls"]
# Enable opendal's blocking support.
blocking = ["internal-tokio-rt"]
@@ -221,21 +214,7 @@ services-yandex-disk = []
[lib]
bench = false
-
-[[bench]]
-harness = false
-name = "ops"
-required-features = ["tests"]
-
-[[bench]]
-harness = false
-name = "types"
-
-[[test]]
-harness = false
-name = "behavior"
-path = "tests/behavior/main.rs"
-required-features = ["tests"]
+doctest = false
[dependencies]
# Required dependencies
diff --git a/core/src/blocking/delete.rs b/core/core/src/blocking/delete.rs
similarity index 100%
rename from core/src/blocking/delete.rs
rename to core/core/src/blocking/delete.rs
diff --git a/core/src/blocking/list.rs b/core/core/src/blocking/list.rs
similarity index 100%
rename from core/src/blocking/list.rs
rename to core/core/src/blocking/list.rs
diff --git a/core/src/blocking/mod.rs b/core/core/src/blocking/mod.rs
similarity index 100%
rename from core/src/blocking/mod.rs
rename to core/core/src/blocking/mod.rs
diff --git a/core/src/blocking/operator.rs b/core/core/src/blocking/operator.rs
similarity index 100%
rename from core/src/blocking/operator.rs
rename to core/core/src/blocking/operator.rs
diff --git a/core/src/blocking/read/buffer_iterator.rs b/core/core/src/blocking/read/buffer_iterator.rs
similarity index 100%
rename from core/src/blocking/read/buffer_iterator.rs
rename to core/core/src/blocking/read/buffer_iterator.rs
diff --git a/core/src/blocking/read/mod.rs b/core/core/src/blocking/read/mod.rs
similarity index 100%
rename from core/src/blocking/read/mod.rs
rename to core/core/src/blocking/read/mod.rs
diff --git a/core/src/blocking/read/reader.rs b/core/core/src/blocking/read/reader.rs
similarity index 100%
rename from core/src/blocking/read/reader.rs
rename to core/core/src/blocking/read/reader.rs
diff --git a/core/src/blocking/read/std_bytes_iterator.rs b/core/core/src/blocking/read/std_bytes_iterator.rs
similarity index 100%
rename from core/src/blocking/read/std_bytes_iterator.rs
rename to core/core/src/blocking/read/std_bytes_iterator.rs
diff --git a/core/src/blocking/read/std_reader.rs b/core/core/src/blocking/read/std_reader.rs
similarity index 100%
rename from core/src/blocking/read/std_reader.rs
rename to core/core/src/blocking/read/std_reader.rs
diff --git a/core/src/blocking/write/mod.rs b/core/core/src/blocking/write/mod.rs
similarity index 100%
rename from core/src/blocking/write/mod.rs
rename to core/core/src/blocking/write/mod.rs
diff --git a/core/src/blocking/write/std_writer.rs b/core/core/src/blocking/write/std_writer.rs
similarity index 100%
rename from core/src/blocking/write/std_writer.rs
rename to core/core/src/blocking/write/std_writer.rs
diff --git a/core/src/blocking/write/writer.rs b/core/core/src/blocking/write/writer.rs
similarity index 100%
rename from core/src/blocking/write/writer.rs
rename to core/core/src/blocking/write/writer.rs
diff --git a/core/src/docs/comparisons/mod.rs b/core/core/src/docs/comparisons/mod.rs
similarity index 100%
rename from core/src/docs/comparisons/mod.rs
rename to core/core/src/docs/comparisons/mod.rs
diff --git a/core/src/docs/comparisons/vs_object_store.md b/core/core/src/docs/comparisons/vs_object_store.md
similarity index 100%
rename from core/src/docs/comparisons/vs_object_store.md
rename to core/core/src/docs/comparisons/vs_object_store.md
diff --git a/core/src/docs/concepts.rs b/core/core/src/docs/concepts.rs
similarity index 100%
rename from core/src/docs/concepts.rs
rename to core/core/src/docs/concepts.rs
diff --git a/core/src/docs/internals/accessor.rs b/core/core/src/docs/internals/accessor.rs
similarity index 100%
rename from core/src/docs/internals/accessor.rs
rename to core/core/src/docs/internals/accessor.rs
diff --git a/core/src/docs/internals/layer.rs b/core/core/src/docs/internals/layer.rs
similarity index 100%
rename from core/src/docs/internals/layer.rs
rename to core/core/src/docs/internals/layer.rs
diff --git a/core/src/docs/internals/mod.rs b/core/core/src/docs/internals/mod.rs
similarity index 100%
rename from core/src/docs/internals/mod.rs
rename to core/core/src/docs/internals/mod.rs
diff --git a/core/src/docs/mod.rs b/core/core/src/docs/mod.rs
similarity index 100%
rename from core/src/docs/mod.rs
rename to core/core/src/docs/mod.rs
diff --git a/core/src/docs/performance/concurrent_write.md b/core/core/src/docs/performance/concurrent_write.md
similarity index 100%
rename from core/src/docs/performance/concurrent_write.md
rename to core/core/src/docs/performance/concurrent_write.md
diff --git a/core/src/docs/performance/http_optimization.md b/core/core/src/docs/performance/http_optimization.md
similarity index 100%
rename from core/src/docs/performance/http_optimization.md
rename to core/core/src/docs/performance/http_optimization.md
diff --git a/core/src/docs/performance/mod.rs b/core/core/src/docs/performance/mod.rs
similarity index 100%
rename from core/src/docs/performance/mod.rs
rename to core/core/src/docs/performance/mod.rs
diff --git a/core/src/docs/rfcs/0000_example.md b/core/core/src/docs/rfcs/0000_example.md
similarity index 100%
rename from core/src/docs/rfcs/0000_example.md
rename to core/core/src/docs/rfcs/0000_example.md
diff --git a/core/src/docs/rfcs/0000_foyer_integration.md b/core/core/src/docs/rfcs/0000_foyer_integration.md
similarity index 100%
rename from core/src/docs/rfcs/0000_foyer_integration.md
rename to core/core/src/docs/rfcs/0000_foyer_integration.md
diff --git a/core/src/docs/rfcs/0041_object_native_api.md b/core/core/src/docs/rfcs/0041_object_native_api.md
similarity index 100%
rename from core/src/docs/rfcs/0041_object_native_api.md
rename to core/core/src/docs/rfcs/0041_object_native_api.md
diff --git a/core/src/docs/rfcs/0044_error_handle.md b/core/core/src/docs/rfcs/0044_error_handle.md
similarity index 100%
rename from core/src/docs/rfcs/0044_error_handle.md
rename to core/core/src/docs/rfcs/0044_error_handle.md
diff --git a/core/src/docs/rfcs/0057_auto_region.md b/core/core/src/docs/rfcs/0057_auto_region.md
similarity index 100%
rename from core/src/docs/rfcs/0057_auto_region.md
rename to core/core/src/docs/rfcs/0057_auto_region.md
diff --git a/core/src/docs/rfcs/0069_object_stream.md b/core/core/src/docs/rfcs/0069_object_stream.md
similarity index 100%
rename from core/src/docs/rfcs/0069_object_stream.md
rename to core/core/src/docs/rfcs/0069_object_stream.md
diff --git a/core/src/docs/rfcs/0090_limited_reader.md b/core/core/src/docs/rfcs/0090_limited_reader.md
similarity index 100%
rename from core/src/docs/rfcs/0090_limited_reader.md
rename to core/core/src/docs/rfcs/0090_limited_reader.md
diff --git a/core/src/docs/rfcs/0112_path_normalization.md b/core/core/src/docs/rfcs/0112_path_normalization.md
similarity index 100%
rename from core/src/docs/rfcs/0112_path_normalization.md
rename to core/core/src/docs/rfcs/0112_path_normalization.md
diff --git a/core/src/docs/rfcs/0191_async_streaming_io.md b/core/core/src/docs/rfcs/0191_async_streaming_io.md
similarity index 100%
rename from core/src/docs/rfcs/0191_async_streaming_io.md
rename to core/core/src/docs/rfcs/0191_async_streaming_io.md
diff --git a/core/src/docs/rfcs/0203_remove_credential.md b/core/core/src/docs/rfcs/0203_remove_credential.md
similarity index 100%
rename from core/src/docs/rfcs/0203_remove_credential.md
rename to core/core/src/docs/rfcs/0203_remove_credential.md
diff --git a/core/src/docs/rfcs/0221_create_dir.md b/core/core/src/docs/rfcs/0221_create_dir.md
similarity index 100%
rename from core/src/docs/rfcs/0221_create_dir.md
rename to core/core/src/docs/rfcs/0221_create_dir.md
diff --git a/core/src/docs/rfcs/0247_retryable_error.md b/core/core/src/docs/rfcs/0247_retryable_error.md
similarity index 100%
rename from core/src/docs/rfcs/0247_retryable_error.md
rename to core/core/src/docs/rfcs/0247_retryable_error.md
diff --git a/core/src/docs/rfcs/0293_object_id.md b/core/core/src/docs/rfcs/0293_object_id.md
similarity index 100%
rename from core/src/docs/rfcs/0293_object_id.md
rename to core/core/src/docs/rfcs/0293_object_id.md
diff --git a/core/src/docs/rfcs/0337_dir_entry.md b/core/core/src/docs/rfcs/0337_dir_entry.md
similarity index 100%
rename from core/src/docs/rfcs/0337_dir_entry.md
rename to core/core/src/docs/rfcs/0337_dir_entry.md
diff --git a/core/src/docs/rfcs/0409_accessor_capabilities.md b/core/core/src/docs/rfcs/0409_accessor_capabilities.md
similarity index 100%
rename from core/src/docs/rfcs/0409_accessor_capabilities.md
rename to core/core/src/docs/rfcs/0409_accessor_capabilities.md
diff --git a/core/src/docs/rfcs/0413_presign.md b/core/core/src/docs/rfcs/0413_presign.md
similarity index 100%
rename from core/src/docs/rfcs/0413_presign.md
rename to core/core/src/docs/rfcs/0413_presign.md
diff --git a/core/src/docs/rfcs/0423_command_line_interface.md b/core/core/src/docs/rfcs/0423_command_line_interface.md
similarity index 100%
rename from core/src/docs/rfcs/0423_command_line_interface.md
rename to core/core/src/docs/rfcs/0423_command_line_interface.md
diff --git a/core/src/docs/rfcs/0429_init_from_iter.md b/core/core/src/docs/rfcs/0429_init_from_iter.md
similarity index 100%
rename from core/src/docs/rfcs/0429_init_from_iter.md
rename to core/core/src/docs/rfcs/0429_init_from_iter.md
diff --git a/core/src/docs/rfcs/0438_multipart.md b/core/core/src/docs/rfcs/0438_multipart.md
similarity index 100%
rename from core/src/docs/rfcs/0438_multipart.md
rename to core/core/src/docs/rfcs/0438_multipart.md
diff --git a/core/src/docs/rfcs/0443_gateway.md b/core/core/src/docs/rfcs/0443_gateway.md
similarity index 100%
rename from core/src/docs/rfcs/0443_gateway.md
rename to core/core/src/docs/rfcs/0443_gateway.md
diff --git a/core/src/docs/rfcs/0501_new_builder.md b/core/core/src/docs/rfcs/0501_new_builder.md
similarity index 100%
rename from core/src/docs/rfcs/0501_new_builder.md
rename to core/core/src/docs/rfcs/0501_new_builder.md
diff --git a/core/src/docs/rfcs/0554_write_refactor.md b/core/core/src/docs/rfcs/0554_write_refactor.md
similarity index 100%
rename from core/src/docs/rfcs/0554_write_refactor.md
rename to core/core/src/docs/rfcs/0554_write_refactor.md
diff --git a/core/src/docs/rfcs/0561_list_metadata_reuse.md b/core/core/src/docs/rfcs/0561_list_metadata_reuse.md
similarity index 100%
rename from core/src/docs/rfcs/0561_list_metadata_reuse.md
rename to core/core/src/docs/rfcs/0561_list_metadata_reuse.md
diff --git a/core/src/docs/rfcs/0599_blocking_api.md b/core/core/src/docs/rfcs/0599_blocking_api.md
similarity index 100%
rename from core/src/docs/rfcs/0599_blocking_api.md
rename to core/core/src/docs/rfcs/0599_blocking_api.md
diff --git a/core/src/docs/rfcs/0623_redis_service.md b/core/core/src/docs/rfcs/0623_redis_service.md
similarity index 100%
rename from core/src/docs/rfcs/0623_redis_service.md
rename to core/core/src/docs/rfcs/0623_redis_service.md
diff --git a/core/src/docs/rfcs/0627_split_capabilities.md b/core/core/src/docs/rfcs/0627_split_capabilities.md
similarity index 100%
rename from core/src/docs/rfcs/0627_split_capabilities.md
rename to core/core/src/docs/rfcs/0627_split_capabilities.md
diff --git a/core/src/docs/rfcs/0661_path_in_accessor.md b/core/core/src/docs/rfcs/0661_path_in_accessor.md
similarity index 100%
rename from core/src/docs/rfcs/0661_path_in_accessor.md
rename to core/core/src/docs/rfcs/0661_path_in_accessor.md
diff --git a/core/src/docs/rfcs/0793_generic_kv_services.md b/core/core/src/docs/rfcs/0793_generic_kv_services.md
similarity index 100%
rename from core/src/docs/rfcs/0793_generic_kv_services.md
rename to core/core/src/docs/rfcs/0793_generic_kv_services.md
diff --git a/core/src/docs/rfcs/0926_object_reader.md b/core/core/src/docs/rfcs/0926_object_reader.md
similarity index 100%
rename from core/src/docs/rfcs/0926_object_reader.md
rename to core/core/src/docs/rfcs/0926_object_reader.md
diff --git a/core/src/docs/rfcs/0977_refactor_error.md b/core/core/src/docs/rfcs/0977_refactor_error.md
similarity index 100%
rename from core/src/docs/rfcs/0977_refactor_error.md
rename to core/core/src/docs/rfcs/0977_refactor_error.md
diff --git a/core/src/docs/rfcs/1085_object_handler.md b/core/core/src/docs/rfcs/1085_object_handler.md
similarity index 100%
rename from core/src/docs/rfcs/1085_object_handler.md
rename to core/core/src/docs/rfcs/1085_object_handler.md
diff --git a/core/src/docs/rfcs/1391_object_metadataer.md b/core/core/src/docs/rfcs/1391_object_metadataer.md
similarity index 100%
rename from core/src/docs/rfcs/1391_object_metadataer.md
rename to core/core/src/docs/rfcs/1391_object_metadataer.md
diff --git a/core/src/docs/rfcs/1398_query_based_metadata.md b/core/core/src/docs/rfcs/1398_query_based_metadata.md
similarity index 100%
rename from core/src/docs/rfcs/1398_query_based_metadata.md
rename to core/core/src/docs/rfcs/1398_query_based_metadata.md
diff --git a/core/src/docs/rfcs/1420_object_writer.md b/core/core/src/docs/rfcs/1420_object_writer.md
similarity index 100%
rename from core/src/docs/rfcs/1420_object_writer.md
rename to core/core/src/docs/rfcs/1420_object_writer.md
diff --git a/core/src/docs/rfcs/1477_remove_object_concept.md b/core/core/src/docs/rfcs/1477_remove_object_concept.md
similarity index 100%
rename from core/src/docs/rfcs/1477_remove_object_concept.md
rename to core/core/src/docs/rfcs/1477_remove_object_concept.md
diff --git a/core/src/docs/rfcs/1735_operation_extension.md b/core/core/src/docs/rfcs/1735_operation_extension.md
similarity index 100%
rename from core/src/docs/rfcs/1735_operation_extension.md
rename to core/core/src/docs/rfcs/1735_operation_extension.md
diff --git a/core/src/docs/rfcs/2083_writer_sink_api.md b/core/core/src/docs/rfcs/2083_writer_sink_api.md
similarity index 100%
rename from core/src/docs/rfcs/2083_writer_sink_api.md
rename to core/core/src/docs/rfcs/2083_writer_sink_api.md
diff --git a/core/src/docs/rfcs/2133_append_api.md b/core/core/src/docs/rfcs/2133_append_api.md
similarity index 100%
rename from core/src/docs/rfcs/2133_append_api.md
rename to core/core/src/docs/rfcs/2133_append_api.md
diff --git a/core/src/docs/rfcs/2299_chain_based_operator_api.md b/core/core/src/docs/rfcs/2299_chain_based_operator_api.md
similarity index 100%
rename from core/src/docs/rfcs/2299_chain_based_operator_api.md
rename to core/core/src/docs/rfcs/2299_chain_based_operator_api.md
diff --git a/core/src/docs/rfcs/2602_object_versioning.md b/core/core/src/docs/rfcs/2602_object_versioning.md
similarity index 100%
rename from core/src/docs/rfcs/2602_object_versioning.md
rename to core/core/src/docs/rfcs/2602_object_versioning.md
diff --git a/core/src/docs/rfcs/2758_merge_append_into_write.md b/core/core/src/docs/rfcs/2758_merge_append_into_write.md
similarity index 100%
rename from core/src/docs/rfcs/2758_merge_append_into_write.md
rename to core/core/src/docs/rfcs/2758_merge_append_into_write.md
diff --git a/core/src/docs/rfcs/2774_lister_api.md b/core/core/src/docs/rfcs/2774_lister_api.md
similarity index 100%
rename from core/src/docs/rfcs/2774_lister_api.md
rename to core/core/src/docs/rfcs/2774_lister_api.md
diff --git a/core/src/docs/rfcs/2779_list_with_metakey.md b/core/core/src/docs/rfcs/2779_list_with_metakey.md
similarity index 100%
rename from core/src/docs/rfcs/2779_list_with_metakey.md
rename to core/core/src/docs/rfcs/2779_list_with_metakey.md
diff --git a/core/src/docs/rfcs/2852_native_capability.md b/core/core/src/docs/rfcs/2852_native_capability.md
similarity index 100%
rename from core/src/docs/rfcs/2852_native_capability.md
rename to core/core/src/docs/rfcs/2852_native_capability.md
diff --git a/core/src/docs/rfcs/2884_merge_range_read_into_read.md b/core/core/src/docs/rfcs/2884_merge_range_read_into_read.md
similarity index 100%
rename from core/src/docs/rfcs/2884_merge_range_read_into_read.md
rename to core/core/src/docs/rfcs/2884_merge_range_read_into_read.md
diff --git a/core/src/docs/rfcs/3017_remove_write_copy_from.md b/core/core/src/docs/rfcs/3017_remove_write_copy_from.md
similarity index 100%
rename from core/src/docs/rfcs/3017_remove_write_copy_from.md
rename to core/core/src/docs/rfcs/3017_remove_write_copy_from.md
diff --git a/core/src/docs/rfcs/3197_config.md b/core/core/src/docs/rfcs/3197_config.md
similarity index 100%
rename from core/src/docs/rfcs/3197_config.md
rename to core/core/src/docs/rfcs/3197_config.md
diff --git a/core/src/docs/rfcs/3232_align_list_api.md b/core/core/src/docs/rfcs/3232_align_list_api.md
similarity index 100%
rename from core/src/docs/rfcs/3232_align_list_api.md
rename to core/core/src/docs/rfcs/3232_align_list_api.md
diff --git a/core/src/docs/rfcs/3243_list_prefix.md b/core/core/src/docs/rfcs/3243_list_prefix.md
similarity index 100%
rename from core/src/docs/rfcs/3243_list_prefix.md
rename to core/core/src/docs/rfcs/3243_list_prefix.md
diff --git a/core/src/docs/rfcs/3356_lazy_reader.md b/core/core/src/docs/rfcs/3356_lazy_reader.md
similarity index 100%
rename from core/src/docs/rfcs/3356_lazy_reader.md
rename to core/core/src/docs/rfcs/3356_lazy_reader.md
diff --git a/core/src/docs/rfcs/3526_list_recursive.md b/core/core/src/docs/rfcs/3526_list_recursive.md
similarity index 100%
rename from core/src/docs/rfcs/3526_list_recursive.md
rename to core/core/src/docs/rfcs/3526_list_recursive.md
diff --git a/core/src/docs/rfcs/3574_concurrent_stat_in_list.md b/core/core/src/docs/rfcs/3574_concurrent_stat_in_list.md
similarity index 100%
rename from core/src/docs/rfcs/3574_concurrent_stat_in_list.md
rename to core/core/src/docs/rfcs/3574_concurrent_stat_in_list.md
diff --git a/core/src/docs/rfcs/3734_buffered_reader.md b/core/core/src/docs/rfcs/3734_buffered_reader.md
similarity index 100%
rename from core/src/docs/rfcs/3734_buffered_reader.md
rename to core/core/src/docs/rfcs/3734_buffered_reader.md
diff --git a/core/src/docs/rfcs/3898_concurrent_writer.md b/core/core/src/docs/rfcs/3898_concurrent_writer.md
similarity index 100%
rename from core/src/docs/rfcs/3898_concurrent_writer.md
rename to core/core/src/docs/rfcs/3898_concurrent_writer.md
diff --git a/core/src/docs/rfcs/3911_deleter_api.md b/core/core/src/docs/rfcs/3911_deleter_api.md
similarity index 100%
rename from core/src/docs/rfcs/3911_deleter_api.md
rename to core/core/src/docs/rfcs/3911_deleter_api.md
diff --git a/core/src/docs/rfcs/4382_range_based_read.md b/core/core/src/docs/rfcs/4382_range_based_read.md
similarity index 100%
rename from core/src/docs/rfcs/4382_range_based_read.md
rename to core/core/src/docs/rfcs/4382_range_based_read.md
diff --git a/core/src/docs/rfcs/4638_executor.md b/core/core/src/docs/rfcs/4638_executor.md
similarity index 100%
rename from core/src/docs/rfcs/4638_executor.md
rename to core/core/src/docs/rfcs/4638_executor.md
diff --git a/core/src/docs/rfcs/5314_remove_metakey.md b/core/core/src/docs/rfcs/5314_remove_metakey.md
similarity index 100%
rename from core/src/docs/rfcs/5314_remove_metakey.md
rename to core/core/src/docs/rfcs/5314_remove_metakey.md
diff --git a/core/src/docs/rfcs/5444_operator_from_uri.md b/core/core/src/docs/rfcs/5444_operator_from_uri.md
similarity index 100%
rename from core/src/docs/rfcs/5444_operator_from_uri.md
rename to core/core/src/docs/rfcs/5444_operator_from_uri.md
diff --git a/core/src/docs/rfcs/5479_context.md b/core/core/src/docs/rfcs/5479_context.md
similarity index 100%
rename from core/src/docs/rfcs/5479_context.md
rename to core/core/src/docs/rfcs/5479_context.md
diff --git a/core/src/docs/rfcs/5485_conditional_reader.md b/core/core/src/docs/rfcs/5485_conditional_reader.md
similarity index 100%
rename from core/src/docs/rfcs/5485_conditional_reader.md
rename to core/core/src/docs/rfcs/5485_conditional_reader.md
diff --git a/core/src/docs/rfcs/5495_list_with_deleted.md b/core/core/src/docs/rfcs/5495_list_with_deleted.md
similarity index 100%
rename from core/src/docs/rfcs/5495_list_with_deleted.md
rename to core/core/src/docs/rfcs/5495_list_with_deleted.md
diff --git a/core/src/docs/rfcs/5556_write_returns_metadata.md b/core/core/src/docs/rfcs/5556_write_returns_metadata.md
similarity index 100%
rename from core/src/docs/rfcs/5556_write_returns_metadata.md
rename to core/core/src/docs/rfcs/5556_write_returns_metadata.md
diff --git a/core/src/docs/rfcs/5871_read_returns_metadata.md b/core/core/src/docs/rfcs/5871_read_returns_metadata.md
similarity index 100%
rename from core/src/docs/rfcs/5871_read_returns_metadata.md
rename to core/core/src/docs/rfcs/5871_read_returns_metadata.md
diff --git a/core/src/docs/rfcs/6189_remove_native_blocking.md b/core/core/src/docs/rfcs/6189_remove_native_blocking.md
similarity index 100%
rename from core/src/docs/rfcs/6189_remove_native_blocking.md
rename to core/core/src/docs/rfcs/6189_remove_native_blocking.md
diff --git a/core/src/docs/rfcs/6209_glob_support.md b/core/core/src/docs/rfcs/6209_glob_support.md
similarity index 100%
rename from core/src/docs/rfcs/6209_glob_support.md
rename to core/core/src/docs/rfcs/6209_glob_support.md
diff --git a/core/src/docs/rfcs/6213_options_api.md b/core/core/src/docs/rfcs/6213_options_api.md
similarity index 100%
rename from core/src/docs/rfcs/6213_options_api.md
rename to core/core/src/docs/rfcs/6213_options_api.md
diff --git a/core/src/docs/rfcs/6678_simulate_layer.md b/core/core/src/docs/rfcs/6678_simulate_layer.md
similarity index 100%
rename from core/src/docs/rfcs/6678_simulate_layer.md
rename to core/core/src/docs/rfcs/6678_simulate_layer.md
diff --git a/core/src/docs/rfcs/6707_capability_override_layer.md b/core/core/src/docs/rfcs/6707_capability_override_layer.md
similarity index 100%
rename from core/src/docs/rfcs/6707_capability_override_layer.md
rename to core/core/src/docs/rfcs/6707_capability_override_layer.md
diff --git a/core/src/docs/rfcs/6817_checksum.md b/core/core/src/docs/rfcs/6817_checksum.md
similarity index 100%
rename from core/src/docs/rfcs/6817_checksum.md
rename to core/core/src/docs/rfcs/6817_checksum.md
diff --git a/core/src/docs/rfcs/6828_core.md b/core/core/src/docs/rfcs/6828_core.md
similarity index 100%
rename from core/src/docs/rfcs/6828_core.md
rename to core/core/src/docs/rfcs/6828_core.md
diff --git a/core/src/docs/rfcs/README.md b/core/core/src/docs/rfcs/README.md
similarity index 100%
rename from core/src/docs/rfcs/README.md
rename to core/core/src/docs/rfcs/README.md
diff --git a/core/src/docs/rfcs/mod.rs b/core/core/src/docs/rfcs/mod.rs
similarity index 100%
rename from core/src/docs/rfcs/mod.rs
rename to core/core/src/docs/rfcs/mod.rs
diff --git a/core/src/docs/upgrade.md b/core/core/src/docs/upgrade.md
similarity index 100%
rename from core/src/docs/upgrade.md
rename to core/core/src/docs/upgrade.md
diff --git a/core/src/layers/async_backtrace.rs b/core/core/src/layers/async_backtrace.rs
similarity index 100%
rename from core/src/layers/async_backtrace.rs
rename to core/core/src/layers/async_backtrace.rs
diff --git a/core/src/layers/await_tree.rs b/core/core/src/layers/await_tree.rs
similarity index 100%
rename from core/src/layers/await_tree.rs
rename to core/core/src/layers/await_tree.rs
diff --git a/core/src/layers/capability_check.rs b/core/core/src/layers/capability_check.rs
similarity index 100%
rename from core/src/layers/capability_check.rs
rename to core/core/src/layers/capability_check.rs
diff --git a/core/src/layers/chaos.rs b/core/core/src/layers/chaos.rs
similarity index 100%
rename from core/src/layers/chaos.rs
rename to core/core/src/layers/chaos.rs
diff --git a/core/src/layers/complete.rs b/core/core/src/layers/complete.rs
similarity index 100%
rename from core/src/layers/complete.rs
rename to core/core/src/layers/complete.rs
diff --git a/core/src/layers/concurrent_limit.rs b/core/core/src/layers/concurrent_limit.rs
similarity index 100%
rename from core/src/layers/concurrent_limit.rs
rename to core/core/src/layers/concurrent_limit.rs
diff --git a/core/src/layers/correctness_check.rs b/core/core/src/layers/correctness_check.rs
similarity index 100%
rename from core/src/layers/correctness_check.rs
rename to core/core/src/layers/correctness_check.rs
diff --git a/core/src/layers/dtrace.rs b/core/core/src/layers/dtrace.rs
similarity index 100%
rename from core/src/layers/dtrace.rs
rename to core/core/src/layers/dtrace.rs
diff --git a/core/src/layers/error_context.rs b/core/core/src/layers/error_context.rs
similarity index 100%
rename from core/src/layers/error_context.rs
rename to core/core/src/layers/error_context.rs
diff --git a/core/src/layers/fastmetrics.rs b/core/core/src/layers/fastmetrics.rs
similarity index 100%
rename from core/src/layers/fastmetrics.rs
rename to core/core/src/layers/fastmetrics.rs
diff --git a/core/src/layers/fastrace.rs b/core/core/src/layers/fastrace.rs
similarity index 100%
rename from core/src/layers/fastrace.rs
rename to core/core/src/layers/fastrace.rs
diff --git a/core/src/layers/http_client.rs b/core/core/src/layers/http_client.rs
similarity index 100%
rename from core/src/layers/http_client.rs
rename to core/core/src/layers/http_client.rs
diff --git a/core/src/layers/immutable_index.rs b/core/core/src/layers/immutable_index.rs
similarity index 100%
rename from core/src/layers/immutable_index.rs
rename to core/core/src/layers/immutable_index.rs
diff --git a/core/src/layers/logging.rs b/core/core/src/layers/logging.rs
similarity index 100%
rename from core/src/layers/logging.rs
rename to core/core/src/layers/logging.rs
diff --git a/core/src/layers/metrics.rs b/core/core/src/layers/metrics.rs
similarity index 100%
rename from core/src/layers/metrics.rs
rename to core/core/src/layers/metrics.rs
diff --git a/core/src/layers/mime_guess.rs b/core/core/src/layers/mime_guess.rs
similarity index 100%
rename from core/src/layers/mime_guess.rs
rename to core/core/src/layers/mime_guess.rs
diff --git a/core/src/layers/mod.rs b/core/core/src/layers/mod.rs
similarity index 100%
rename from core/src/layers/mod.rs
rename to core/core/src/layers/mod.rs
diff --git a/core/src/layers/observe/metrics.rs b/core/core/src/layers/observe/metrics.rs
similarity index 100%
rename from core/src/layers/observe/metrics.rs
rename to core/core/src/layers/observe/metrics.rs
diff --git a/core/src/layers/observe/mod.rs b/core/core/src/layers/observe/mod.rs
similarity index 100%
rename from core/src/layers/observe/mod.rs
rename to core/core/src/layers/observe/mod.rs
diff --git a/core/src/layers/otelmetrics.rs b/core/core/src/layers/otelmetrics.rs
similarity index 100%
rename from core/src/layers/otelmetrics.rs
rename to core/core/src/layers/otelmetrics.rs
diff --git a/core/src/layers/oteltrace.rs b/core/core/src/layers/oteltrace.rs
similarity index 100%
rename from core/src/layers/oteltrace.rs
rename to core/core/src/layers/oteltrace.rs
diff --git a/core/src/layers/prometheus.rs b/core/core/src/layers/prometheus.rs
similarity index 100%
rename from core/src/layers/prometheus.rs
rename to core/core/src/layers/prometheus.rs
diff --git a/core/src/layers/prometheus_client.rs b/core/core/src/layers/prometheus_client.rs
similarity index 100%
rename from core/src/layers/prometheus_client.rs
rename to core/core/src/layers/prometheus_client.rs
diff --git a/core/src/layers/retry.rs b/core/core/src/layers/retry.rs
similarity index 100%
rename from core/src/layers/retry.rs
rename to core/core/src/layers/retry.rs
diff --git a/core/src/layers/simulate.rs b/core/core/src/layers/simulate.rs
similarity index 100%
rename from core/src/layers/simulate.rs
rename to core/core/src/layers/simulate.rs
diff --git a/core/src/layers/tail_cut.rs b/core/core/src/layers/tail_cut.rs
similarity index 100%
rename from core/src/layers/tail_cut.rs
rename to core/core/src/layers/tail_cut.rs
diff --git a/core/src/layers/throttle.rs b/core/core/src/layers/throttle.rs
similarity index 100%
rename from core/src/layers/throttle.rs
rename to core/core/src/layers/throttle.rs
diff --git a/core/src/layers/timeout.rs b/core/core/src/layers/timeout.rs
similarity index 100%
rename from core/src/layers/timeout.rs
rename to core/core/src/layers/timeout.rs
diff --git a/core/src/layers/tracing.rs b/core/core/src/layers/tracing.rs
similarity index 100%
rename from core/src/layers/tracing.rs
rename to core/core/src/layers/tracing.rs
diff --git a/core/src/layers/type_eraser.rs b/core/core/src/layers/type_eraser.rs
similarity index 100%
rename from core/src/layers/type_eraser.rs
rename to core/core/src/layers/type_eraser.rs
diff --git a/core/src/lib.rs b/core/core/src/lib.rs
similarity index 100%
copy from core/src/lib.rs
copy to core/core/src/lib.rs
diff --git a/core/src/raw/accessor.rs b/core/core/src/raw/accessor.rs
similarity index 100%
rename from core/src/raw/accessor.rs
rename to core/core/src/raw/accessor.rs
diff --git a/core/src/raw/atomic_util.rs b/core/core/src/raw/atomic_util.rs
similarity index 100%
rename from core/src/raw/atomic_util.rs
rename to core/core/src/raw/atomic_util.rs
diff --git a/core/src/raw/azure.rs b/core/core/src/raw/azure.rs
similarity index 100%
rename from core/src/raw/azure.rs
rename to core/core/src/raw/azure.rs
diff --git a/core/src/raw/enum_utils.rs b/core/core/src/raw/enum_utils.rs
similarity index 100%
rename from core/src/raw/enum_utils.rs
rename to core/core/src/raw/enum_utils.rs
diff --git a/core/src/raw/futures_util.rs b/core/core/src/raw/futures_util.rs
similarity index 100%
rename from core/src/raw/futures_util.rs
rename to core/core/src/raw/futures_util.rs
diff --git a/core/src/raw/http_util/body.rs b/core/core/src/raw/http_util/body.rs
similarity index 100%
rename from core/src/raw/http_util/body.rs
rename to core/core/src/raw/http_util/body.rs
diff --git a/core/src/raw/http_util/bytes_content_range.rs b/core/core/src/raw/http_util/bytes_content_range.rs
similarity index 100%
rename from core/src/raw/http_util/bytes_content_range.rs
rename to core/core/src/raw/http_util/bytes_content_range.rs
diff --git a/core/src/raw/http_util/bytes_range.rs b/core/core/src/raw/http_util/bytes_range.rs
similarity index 100%
rename from core/src/raw/http_util/bytes_range.rs
rename to core/core/src/raw/http_util/bytes_range.rs
diff --git a/core/src/raw/http_util/client.rs b/core/core/src/raw/http_util/client.rs
similarity index 100%
rename from core/src/raw/http_util/client.rs
rename to core/core/src/raw/http_util/client.rs
diff --git a/core/src/raw/http_util/error.rs b/core/core/src/raw/http_util/error.rs
similarity index 100%
rename from core/src/raw/http_util/error.rs
rename to core/core/src/raw/http_util/error.rs
diff --git a/core/src/raw/http_util/header.rs b/core/core/src/raw/http_util/header.rs
similarity index 100%
rename from core/src/raw/http_util/header.rs
rename to core/core/src/raw/http_util/header.rs
diff --git a/core/src/raw/http_util/mod.rs b/core/core/src/raw/http_util/mod.rs
similarity index 100%
rename from core/src/raw/http_util/mod.rs
rename to core/core/src/raw/http_util/mod.rs
diff --git a/core/src/raw/http_util/multipart.rs b/core/core/src/raw/http_util/multipart.rs
similarity index 100%
rename from core/src/raw/http_util/multipart.rs
rename to core/core/src/raw/http_util/multipart.rs
diff --git a/core/src/raw/http_util/uri.rs b/core/core/src/raw/http_util/uri.rs
similarity index 100%
rename from core/src/raw/http_util/uri.rs
rename to core/core/src/raw/http_util/uri.rs
diff --git a/core/src/raw/layer.rs b/core/core/src/raw/layer.rs
similarity index 100%
rename from core/src/raw/layer.rs
rename to core/core/src/raw/layer.rs
diff --git a/core/src/raw/mod.rs b/core/core/src/raw/mod.rs
similarity index 100%
rename from core/src/raw/mod.rs
rename to core/core/src/raw/mod.rs
diff --git a/core/src/raw/oio/buf/flex_buf.rs b/core/core/src/raw/oio/buf/flex_buf.rs
similarity index 100%
rename from core/src/raw/oio/buf/flex_buf.rs
rename to core/core/src/raw/oio/buf/flex_buf.rs
diff --git a/core/src/raw/oio/buf/mod.rs b/core/core/src/raw/oio/buf/mod.rs
similarity index 100%
rename from core/src/raw/oio/buf/mod.rs
rename to core/core/src/raw/oio/buf/mod.rs
diff --git a/core/src/raw/oio/buf/pooled_buf.rs b/core/core/src/raw/oio/buf/pooled_buf.rs
similarity index 100%
rename from core/src/raw/oio/buf/pooled_buf.rs
rename to core/core/src/raw/oio/buf/pooled_buf.rs
diff --git a/core/src/raw/oio/buf/queue_buf.rs b/core/core/src/raw/oio/buf/queue_buf.rs
similarity index 100%
rename from core/src/raw/oio/buf/queue_buf.rs
rename to core/core/src/raw/oio/buf/queue_buf.rs
diff --git a/core/src/raw/oio/delete/api.rs b/core/core/src/raw/oio/delete/api.rs
similarity index 100%
rename from core/src/raw/oio/delete/api.rs
rename to core/core/src/raw/oio/delete/api.rs
diff --git a/core/src/raw/oio/delete/batch_delete.rs b/core/core/src/raw/oio/delete/batch_delete.rs
similarity index 100%
rename from core/src/raw/oio/delete/batch_delete.rs
rename to core/core/src/raw/oio/delete/batch_delete.rs
diff --git a/core/src/raw/oio/delete/mod.rs b/core/core/src/raw/oio/delete/mod.rs
similarity index 100%
rename from core/src/raw/oio/delete/mod.rs
rename to core/core/src/raw/oio/delete/mod.rs
diff --git a/core/src/raw/oio/delete/one_shot_delete.rs b/core/core/src/raw/oio/delete/one_shot_delete.rs
similarity index 100%
rename from core/src/raw/oio/delete/one_shot_delete.rs
rename to core/core/src/raw/oio/delete/one_shot_delete.rs
diff --git a/core/src/raw/oio/entry.rs b/core/core/src/raw/oio/entry.rs
similarity index 100%
rename from core/src/raw/oio/entry.rs
rename to core/core/src/raw/oio/entry.rs
diff --git a/core/src/raw/oio/list/api.rs b/core/core/src/raw/oio/list/api.rs
similarity index 100%
rename from core/src/raw/oio/list/api.rs
rename to core/core/src/raw/oio/list/api.rs
diff --git a/core/src/raw/oio/list/flat_list.rs b/core/core/src/raw/oio/list/flat_list.rs
similarity index 100%
rename from core/src/raw/oio/list/flat_list.rs
rename to core/core/src/raw/oio/list/flat_list.rs
diff --git a/core/src/raw/oio/list/hierarchy_list.rs b/core/core/src/raw/oio/list/hierarchy_list.rs
similarity index 100%
rename from core/src/raw/oio/list/hierarchy_list.rs
rename to core/core/src/raw/oio/list/hierarchy_list.rs
diff --git a/core/src/raw/oio/list/mod.rs b/core/core/src/raw/oio/list/mod.rs
similarity index 100%
rename from core/src/raw/oio/list/mod.rs
rename to core/core/src/raw/oio/list/mod.rs
diff --git a/core/src/raw/oio/list/page_list.rs b/core/core/src/raw/oio/list/page_list.rs
similarity index 100%
rename from core/src/raw/oio/list/page_list.rs
rename to core/core/src/raw/oio/list/page_list.rs
diff --git a/core/src/raw/oio/list/prefix_list.rs b/core/core/src/raw/oio/list/prefix_list.rs
similarity index 100%
rename from core/src/raw/oio/list/prefix_list.rs
rename to core/core/src/raw/oio/list/prefix_list.rs
diff --git a/core/src/raw/oio/mod.rs b/core/core/src/raw/oio/mod.rs
similarity index 100%
rename from core/src/raw/oio/mod.rs
rename to core/core/src/raw/oio/mod.rs
diff --git a/core/src/raw/oio/read/api.rs b/core/core/src/raw/oio/read/api.rs
similarity index 100%
rename from core/src/raw/oio/read/api.rs
rename to core/core/src/raw/oio/read/api.rs
diff --git a/core/src/raw/oio/read/mod.rs b/core/core/src/raw/oio/read/mod.rs
similarity index 100%
rename from core/src/raw/oio/read/mod.rs
rename to core/core/src/raw/oio/read/mod.rs
diff --git a/core/src/raw/oio/write/api.rs b/core/core/src/raw/oio/write/api.rs
similarity index 100%
rename from core/src/raw/oio/write/api.rs
rename to core/core/src/raw/oio/write/api.rs
diff --git a/core/src/raw/oio/write/append_write.rs b/core/core/src/raw/oio/write/append_write.rs
similarity index 100%
rename from core/src/raw/oio/write/append_write.rs
rename to core/core/src/raw/oio/write/append_write.rs
diff --git a/core/src/raw/oio/write/block_write.rs b/core/core/src/raw/oio/write/block_write.rs
similarity index 100%
rename from core/src/raw/oio/write/block_write.rs
rename to core/core/src/raw/oio/write/block_write.rs
diff --git a/core/src/raw/oio/write/mod.rs b/core/core/src/raw/oio/write/mod.rs
similarity index 100%
rename from core/src/raw/oio/write/mod.rs
rename to core/core/src/raw/oio/write/mod.rs
diff --git a/core/src/raw/oio/write/multipart_write.rs b/core/core/src/raw/oio/write/multipart_write.rs
similarity index 100%
rename from core/src/raw/oio/write/multipart_write.rs
rename to core/core/src/raw/oio/write/multipart_write.rs
diff --git a/core/src/raw/oio/write/one_shot_write.rs b/core/core/src/raw/oio/write/one_shot_write.rs
similarity index 100%
rename from core/src/raw/oio/write/one_shot_write.rs
rename to core/core/src/raw/oio/write/one_shot_write.rs
diff --git a/core/src/raw/oio/write/position_write.rs b/core/core/src/raw/oio/write/position_write.rs
similarity index 100%
rename from core/src/raw/oio/write/position_write.rs
rename to core/core/src/raw/oio/write/position_write.rs
diff --git a/core/src/raw/operation.rs b/core/core/src/raw/operation.rs
similarity index 100%
rename from core/src/raw/operation.rs
rename to core/core/src/raw/operation.rs
diff --git a/core/src/raw/ops.rs b/core/core/src/raw/ops.rs
similarity index 100%
rename from core/src/raw/ops.rs
rename to core/core/src/raw/ops.rs
diff --git a/core/src/raw/path.rs b/core/core/src/raw/path.rs
similarity index 100%
rename from core/src/raw/path.rs
rename to core/core/src/raw/path.rs
diff --git a/core/src/raw/path_cache.rs b/core/core/src/raw/path_cache.rs
similarity index 100%
rename from core/src/raw/path_cache.rs
rename to core/core/src/raw/path_cache.rs
diff --git a/core/src/raw/rps.rs b/core/core/src/raw/rps.rs
similarity index 100%
rename from core/src/raw/rps.rs
rename to core/core/src/raw/rps.rs
diff --git a/core/src/raw/serde_util.rs b/core/core/src/raw/serde_util.rs
similarity index 100%
rename from core/src/raw/serde_util.rs
rename to core/core/src/raw/serde_util.rs
diff --git a/core/src/raw/std_io_util.rs b/core/core/src/raw/std_io_util.rs
similarity index 100%
rename from core/src/raw/std_io_util.rs
rename to core/core/src/raw/std_io_util.rs
diff --git a/core/src/raw/tests/mod.rs b/core/core/src/raw/tests/mod.rs
similarity index 100%
rename from core/src/raw/tests/mod.rs
rename to core/core/src/raw/tests/mod.rs
diff --git a/core/src/raw/tests/read.rs b/core/core/src/raw/tests/read.rs
similarity index 100%
rename from core/src/raw/tests/read.rs
rename to core/core/src/raw/tests/read.rs
diff --git a/core/src/raw/tests/utils.rs b/core/core/src/raw/tests/utils.rs
similarity index 100%
rename from core/src/raw/tests/utils.rs
rename to core/core/src/raw/tests/utils.rs
diff --git a/core/src/raw/tests/write.rs b/core/core/src/raw/tests/write.rs
similarity index 100%
rename from core/src/raw/tests/write.rs
rename to core/core/src/raw/tests/write.rs
diff --git a/core/src/raw/time.rs b/core/core/src/raw/time.rs
similarity index 100%
rename from core/src/raw/time.rs
rename to core/core/src/raw/time.rs
diff --git a/core/src/raw/tokio_util.rs b/core/core/src/raw/tokio_util.rs
similarity index 100%
rename from core/src/raw/tokio_util.rs
rename to core/core/src/raw/tokio_util.rs
diff --git a/core/src/raw/version.rs b/core/core/src/raw/version.rs
similarity index 100%
rename from core/src/raw/version.rs
rename to core/core/src/raw/version.rs
diff --git a/core/src/services/aliyun_drive/backend.rs b/core/core/src/services/aliyun_drive/backend.rs
similarity index 100%
rename from core/src/services/aliyun_drive/backend.rs
rename to core/core/src/services/aliyun_drive/backend.rs
diff --git a/core/src/services/aliyun_drive/config.rs b/core/core/src/services/aliyun_drive/config.rs
similarity index 100%
rename from core/src/services/aliyun_drive/config.rs
rename to core/core/src/services/aliyun_drive/config.rs
diff --git a/core/src/services/aliyun_drive/core.rs b/core/core/src/services/aliyun_drive/core.rs
similarity index 100%
rename from core/src/services/aliyun_drive/core.rs
rename to core/core/src/services/aliyun_drive/core.rs
diff --git a/core/src/services/aliyun_drive/deleter.rs b/core/core/src/services/aliyun_drive/deleter.rs
similarity index 100%
rename from core/src/services/aliyun_drive/deleter.rs
rename to core/core/src/services/aliyun_drive/deleter.rs
diff --git a/core/src/services/aliyun_drive/docs.md b/core/core/src/services/aliyun_drive/docs.md
similarity index 100%
rename from core/src/services/aliyun_drive/docs.md
rename to core/core/src/services/aliyun_drive/docs.md
diff --git a/core/src/services/aliyun_drive/error.rs b/core/core/src/services/aliyun_drive/error.rs
similarity index 100%
rename from core/src/services/aliyun_drive/error.rs
rename to core/core/src/services/aliyun_drive/error.rs
diff --git a/core/src/services/aliyun_drive/lister.rs b/core/core/src/services/aliyun_drive/lister.rs
similarity index 100%
rename from core/src/services/aliyun_drive/lister.rs
rename to core/core/src/services/aliyun_drive/lister.rs
diff --git a/core/src/services/aliyun_drive/mod.rs b/core/core/src/services/aliyun_drive/mod.rs
similarity index 100%
rename from core/src/services/aliyun_drive/mod.rs
rename to core/core/src/services/aliyun_drive/mod.rs
diff --git a/core/src/services/aliyun_drive/writer.rs b/core/core/src/services/aliyun_drive/writer.rs
similarity index 100%
rename from core/src/services/aliyun_drive/writer.rs
rename to core/core/src/services/aliyun_drive/writer.rs
diff --git a/core/src/services/alluxio/backend.rs b/core/core/src/services/alluxio/backend.rs
similarity index 100%
rename from core/src/services/alluxio/backend.rs
rename to core/core/src/services/alluxio/backend.rs
diff --git a/core/src/services/alluxio/config.rs b/core/core/src/services/alluxio/config.rs
similarity index 100%
rename from core/src/services/alluxio/config.rs
rename to core/core/src/services/alluxio/config.rs
diff --git a/core/src/services/alluxio/core.rs b/core/core/src/services/alluxio/core.rs
similarity index 100%
rename from core/src/services/alluxio/core.rs
rename to core/core/src/services/alluxio/core.rs
diff --git a/core/src/services/alluxio/deleter.rs b/core/core/src/services/alluxio/deleter.rs
similarity index 100%
rename from core/src/services/alluxio/deleter.rs
rename to core/core/src/services/alluxio/deleter.rs
diff --git a/core/src/services/alluxio/docs.md b/core/core/src/services/alluxio/docs.md
similarity index 100%
rename from core/src/services/alluxio/docs.md
rename to core/core/src/services/alluxio/docs.md
diff --git a/core/src/services/alluxio/error.rs b/core/core/src/services/alluxio/error.rs
similarity index 100%
rename from core/src/services/alluxio/error.rs
rename to core/core/src/services/alluxio/error.rs
diff --git a/core/src/services/alluxio/lister.rs b/core/core/src/services/alluxio/lister.rs
similarity index 100%
rename from core/src/services/alluxio/lister.rs
rename to core/core/src/services/alluxio/lister.rs
diff --git a/core/src/services/alluxio/mod.rs b/core/core/src/services/alluxio/mod.rs
similarity index 100%
rename from core/src/services/alluxio/mod.rs
rename to core/core/src/services/alluxio/mod.rs
diff --git a/core/src/services/alluxio/writer.rs b/core/core/src/services/alluxio/writer.rs
similarity index 100%
rename from core/src/services/alluxio/writer.rs
rename to core/core/src/services/alluxio/writer.rs
diff --git a/core/src/services/azblob/backend.rs b/core/core/src/services/azblob/backend.rs
similarity index 100%
rename from core/src/services/azblob/backend.rs
rename to core/core/src/services/azblob/backend.rs
diff --git a/core/src/services/azblob/config.rs b/core/core/src/services/azblob/config.rs
similarity index 100%
rename from core/src/services/azblob/config.rs
rename to core/core/src/services/azblob/config.rs
diff --git a/core/src/services/azblob/core.rs b/core/core/src/services/azblob/core.rs
similarity index 100%
rename from core/src/services/azblob/core.rs
rename to core/core/src/services/azblob/core.rs
diff --git a/core/src/services/azblob/deleter.rs b/core/core/src/services/azblob/deleter.rs
similarity index 100%
rename from core/src/services/azblob/deleter.rs
rename to core/core/src/services/azblob/deleter.rs
diff --git a/core/src/services/azblob/docs.md b/core/core/src/services/azblob/docs.md
similarity index 100%
rename from core/src/services/azblob/docs.md
rename to core/core/src/services/azblob/docs.md
diff --git a/core/src/services/azblob/error.rs b/core/core/src/services/azblob/error.rs
similarity index 100%
rename from core/src/services/azblob/error.rs
rename to core/core/src/services/azblob/error.rs
diff --git a/core/src/services/azblob/lister.rs b/core/core/src/services/azblob/lister.rs
similarity index 100%
rename from core/src/services/azblob/lister.rs
rename to core/core/src/services/azblob/lister.rs
diff --git a/core/src/services/azblob/mod.rs b/core/core/src/services/azblob/mod.rs
similarity index 100%
rename from core/src/services/azblob/mod.rs
rename to core/core/src/services/azblob/mod.rs
diff --git a/core/src/services/azblob/writer.rs b/core/core/src/services/azblob/writer.rs
similarity index 100%
rename from core/src/services/azblob/writer.rs
rename to core/core/src/services/azblob/writer.rs
diff --git a/core/src/services/azdls/backend.rs b/core/core/src/services/azdls/backend.rs
similarity index 100%
rename from core/src/services/azdls/backend.rs
rename to core/core/src/services/azdls/backend.rs
diff --git a/core/src/services/azdls/config.rs b/core/core/src/services/azdls/config.rs
similarity index 100%
rename from core/src/services/azdls/config.rs
rename to core/core/src/services/azdls/config.rs
diff --git a/core/src/services/azdls/core.rs b/core/core/src/services/azdls/core.rs
similarity index 100%
rename from core/src/services/azdls/core.rs
rename to core/core/src/services/azdls/core.rs
diff --git a/core/src/services/azdls/deleter.rs b/core/core/src/services/azdls/deleter.rs
similarity index 100%
rename from core/src/services/azdls/deleter.rs
rename to core/core/src/services/azdls/deleter.rs
diff --git a/core/src/services/azdls/docs.md b/core/core/src/services/azdls/docs.md
similarity index 100%
rename from core/src/services/azdls/docs.md
rename to core/core/src/services/azdls/docs.md
diff --git a/core/src/services/azdls/error.rs b/core/core/src/services/azdls/error.rs
similarity index 100%
rename from core/src/services/azdls/error.rs
rename to core/core/src/services/azdls/error.rs
diff --git a/core/src/services/azdls/lister.rs b/core/core/src/services/azdls/lister.rs
similarity index 100%
rename from core/src/services/azdls/lister.rs
rename to core/core/src/services/azdls/lister.rs
diff --git a/core/src/services/azdls/mod.rs b/core/core/src/services/azdls/mod.rs
similarity index 100%
rename from core/src/services/azdls/mod.rs
rename to core/core/src/services/azdls/mod.rs
diff --git a/core/src/services/azdls/writer.rs b/core/core/src/services/azdls/writer.rs
similarity index 100%
rename from core/src/services/azdls/writer.rs
rename to core/core/src/services/azdls/writer.rs
diff --git a/core/src/services/azfile/backend.rs b/core/core/src/services/azfile/backend.rs
similarity index 100%
rename from core/src/services/azfile/backend.rs
rename to core/core/src/services/azfile/backend.rs
diff --git a/core/src/services/azfile/config.rs b/core/core/src/services/azfile/config.rs
similarity index 100%
rename from core/src/services/azfile/config.rs
rename to core/core/src/services/azfile/config.rs
diff --git a/core/src/services/azfile/core.rs b/core/core/src/services/azfile/core.rs
similarity index 100%
rename from core/src/services/azfile/core.rs
rename to core/core/src/services/azfile/core.rs
diff --git a/core/src/services/azfile/deleter.rs b/core/core/src/services/azfile/deleter.rs
similarity index 100%
rename from core/src/services/azfile/deleter.rs
rename to core/core/src/services/azfile/deleter.rs
diff --git a/core/src/services/azfile/docs.md b/core/core/src/services/azfile/docs.md
similarity index 100%
rename from core/src/services/azfile/docs.md
rename to core/core/src/services/azfile/docs.md
diff --git a/core/src/services/azfile/error.rs b/core/core/src/services/azfile/error.rs
similarity index 100%
rename from core/src/services/azfile/error.rs
rename to core/core/src/services/azfile/error.rs
diff --git a/core/src/services/azfile/lister.rs b/core/core/src/services/azfile/lister.rs
similarity index 100%
rename from core/src/services/azfile/lister.rs
rename to core/core/src/services/azfile/lister.rs
diff --git a/core/src/services/azfile/mod.rs b/core/core/src/services/azfile/mod.rs
similarity index 100%
rename from core/src/services/azfile/mod.rs
rename to core/core/src/services/azfile/mod.rs
diff --git a/core/src/services/azfile/writer.rs b/core/core/src/services/azfile/writer.rs
similarity index 100%
rename from core/src/services/azfile/writer.rs
rename to core/core/src/services/azfile/writer.rs
diff --git a/core/src/services/b2/backend.rs b/core/core/src/services/b2/backend.rs
similarity index 100%
rename from core/src/services/b2/backend.rs
rename to core/core/src/services/b2/backend.rs
diff --git a/core/src/services/b2/config.rs b/core/core/src/services/b2/config.rs
similarity index 100%
rename from core/src/services/b2/config.rs
rename to core/core/src/services/b2/config.rs
diff --git a/core/src/services/b2/core.rs b/core/core/src/services/b2/core.rs
similarity index 100%
rename from core/src/services/b2/core.rs
rename to core/core/src/services/b2/core.rs
diff --git a/core/src/services/b2/deleter.rs b/core/core/src/services/b2/deleter.rs
similarity index 100%
rename from core/src/services/b2/deleter.rs
rename to core/core/src/services/b2/deleter.rs
diff --git a/core/src/services/b2/docs.md b/core/core/src/services/b2/docs.md
similarity index 100%
rename from core/src/services/b2/docs.md
rename to core/core/src/services/b2/docs.md
diff --git a/core/src/services/b2/error.rs b/core/core/src/services/b2/error.rs
similarity index 100%
rename from core/src/services/b2/error.rs
rename to core/core/src/services/b2/error.rs
diff --git a/core/src/services/b2/lister.rs b/core/core/src/services/b2/lister.rs
similarity index 100%
rename from core/src/services/b2/lister.rs
rename to core/core/src/services/b2/lister.rs
diff --git a/core/src/services/b2/mod.rs b/core/core/src/services/b2/mod.rs
similarity index 100%
rename from core/src/services/b2/mod.rs
rename to core/core/src/services/b2/mod.rs
diff --git a/core/src/services/b2/writer.rs b/core/core/src/services/b2/writer.rs
similarity index 100%
rename from core/src/services/b2/writer.rs
rename to core/core/src/services/b2/writer.rs
diff --git a/core/src/services/cacache/backend.rs b/core/core/src/services/cacache/backend.rs
similarity index 100%
rename from core/src/services/cacache/backend.rs
rename to core/core/src/services/cacache/backend.rs
diff --git a/core/src/services/cacache/config.rs b/core/core/src/services/cacache/config.rs
similarity index 100%
rename from core/src/services/cacache/config.rs
rename to core/core/src/services/cacache/config.rs
diff --git a/core/src/services/cacache/core.rs b/core/core/src/services/cacache/core.rs
similarity index 100%
rename from core/src/services/cacache/core.rs
rename to core/core/src/services/cacache/core.rs
diff --git a/core/src/services/cacache/deleter.rs b/core/core/src/services/cacache/deleter.rs
similarity index 100%
rename from core/src/services/cacache/deleter.rs
rename to core/core/src/services/cacache/deleter.rs
diff --git a/core/src/services/cacache/docs.md b/core/core/src/services/cacache/docs.md
similarity index 100%
rename from core/src/services/cacache/docs.md
rename to core/core/src/services/cacache/docs.md
diff --git a/core/src/services/cacache/mod.rs b/core/core/src/services/cacache/mod.rs
similarity index 100%
rename from core/src/services/cacache/mod.rs
rename to core/core/src/services/cacache/mod.rs
diff --git a/core/src/services/cacache/writer.rs b/core/core/src/services/cacache/writer.rs
similarity index 100%
rename from core/src/services/cacache/writer.rs
rename to core/core/src/services/cacache/writer.rs
diff --git a/core/src/services/cloudflare_kv/backend.rs b/core/core/src/services/cloudflare_kv/backend.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/backend.rs
rename to core/core/src/services/cloudflare_kv/backend.rs
diff --git a/core/src/services/cloudflare_kv/config.rs b/core/core/src/services/cloudflare_kv/config.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/config.rs
rename to core/core/src/services/cloudflare_kv/config.rs
diff --git a/core/src/services/cloudflare_kv/core.rs b/core/core/src/services/cloudflare_kv/core.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/core.rs
rename to core/core/src/services/cloudflare_kv/core.rs
diff --git a/core/src/services/cloudflare_kv/deleter.rs b/core/core/src/services/cloudflare_kv/deleter.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/deleter.rs
rename to core/core/src/services/cloudflare_kv/deleter.rs
diff --git a/core/src/services/cloudflare_kv/docs.md b/core/core/src/services/cloudflare_kv/docs.md
similarity index 100%
rename from core/src/services/cloudflare_kv/docs.md
rename to core/core/src/services/cloudflare_kv/docs.md
diff --git a/core/src/services/cloudflare_kv/error.rs b/core/core/src/services/cloudflare_kv/error.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/error.rs
rename to core/core/src/services/cloudflare_kv/error.rs
diff --git a/core/src/services/cloudflare_kv/lister.rs b/core/core/src/services/cloudflare_kv/lister.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/lister.rs
rename to core/core/src/services/cloudflare_kv/lister.rs
diff --git a/core/src/services/cloudflare_kv/mod.rs b/core/core/src/services/cloudflare_kv/mod.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/mod.rs
rename to core/core/src/services/cloudflare_kv/mod.rs
diff --git a/core/src/services/cloudflare_kv/model.rs b/core/core/src/services/cloudflare_kv/model.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/model.rs
rename to core/core/src/services/cloudflare_kv/model.rs
diff --git a/core/src/services/cloudflare_kv/writer.rs b/core/core/src/services/cloudflare_kv/writer.rs
similarity index 100%
rename from core/src/services/cloudflare_kv/writer.rs
rename to core/core/src/services/cloudflare_kv/writer.rs
diff --git a/core/src/services/compfs/backend.rs b/core/core/src/services/compfs/backend.rs
similarity index 100%
rename from core/src/services/compfs/backend.rs
rename to core/core/src/services/compfs/backend.rs
diff --git a/core/src/services/compfs/config.rs b/core/core/src/services/compfs/config.rs
similarity index 100%
rename from core/src/services/compfs/config.rs
rename to core/core/src/services/compfs/config.rs
diff --git a/core/src/services/compfs/core.rs b/core/core/src/services/compfs/core.rs
similarity index 100%
rename from core/src/services/compfs/core.rs
rename to core/core/src/services/compfs/core.rs
diff --git a/core/src/services/compfs/deleter.rs b/core/core/src/services/compfs/deleter.rs
similarity index 100%
rename from core/src/services/compfs/deleter.rs
rename to core/core/src/services/compfs/deleter.rs
diff --git a/core/src/services/compfs/lister.rs b/core/core/src/services/compfs/lister.rs
similarity index 100%
rename from core/src/services/compfs/lister.rs
rename to core/core/src/services/compfs/lister.rs
diff --git a/core/src/services/compfs/mod.rs b/core/core/src/services/compfs/mod.rs
similarity index 100%
rename from core/src/services/compfs/mod.rs
rename to core/core/src/services/compfs/mod.rs
diff --git a/core/src/services/compfs/reader.rs b/core/core/src/services/compfs/reader.rs
similarity index 100%
rename from core/src/services/compfs/reader.rs
rename to core/core/src/services/compfs/reader.rs
diff --git a/core/src/services/compfs/writer.rs b/core/core/src/services/compfs/writer.rs
similarity index 100%
rename from core/src/services/compfs/writer.rs
rename to core/core/src/services/compfs/writer.rs
diff --git a/core/src/services/cos/backend.rs b/core/core/src/services/cos/backend.rs
similarity index 100%
rename from core/src/services/cos/backend.rs
rename to core/core/src/services/cos/backend.rs
diff --git a/core/src/services/cos/config.rs b/core/core/src/services/cos/config.rs
similarity index 100%
rename from core/src/services/cos/config.rs
rename to core/core/src/services/cos/config.rs
diff --git a/core/src/services/cos/core.rs b/core/core/src/services/cos/core.rs
similarity index 100%
rename from core/src/services/cos/core.rs
rename to core/core/src/services/cos/core.rs
diff --git a/core/src/services/cos/deleter.rs b/core/core/src/services/cos/deleter.rs
similarity index 100%
rename from core/src/services/cos/deleter.rs
rename to core/core/src/services/cos/deleter.rs
diff --git a/core/src/services/cos/docs.md b/core/core/src/services/cos/docs.md
similarity index 100%
rename from core/src/services/cos/docs.md
rename to core/core/src/services/cos/docs.md
diff --git a/core/src/services/cos/error.rs b/core/core/src/services/cos/error.rs
similarity index 100%
rename from core/src/services/cos/error.rs
rename to core/core/src/services/cos/error.rs
diff --git a/core/src/services/cos/lister.rs b/core/core/src/services/cos/lister.rs
similarity index 100%
rename from core/src/services/cos/lister.rs
rename to core/core/src/services/cos/lister.rs
diff --git a/core/src/services/cos/mod.rs b/core/core/src/services/cos/mod.rs
similarity index 100%
rename from core/src/services/cos/mod.rs
rename to core/core/src/services/cos/mod.rs
diff --git a/core/src/services/cos/writer.rs b/core/core/src/services/cos/writer.rs
similarity index 100%
rename from core/src/services/cos/writer.rs
rename to core/core/src/services/cos/writer.rs
diff --git a/core/src/services/d1/backend.rs b/core/core/src/services/d1/backend.rs
similarity index 100%
rename from core/src/services/d1/backend.rs
rename to core/core/src/services/d1/backend.rs
diff --git a/core/src/services/d1/config.rs b/core/core/src/services/d1/config.rs
similarity index 100%
rename from core/src/services/d1/config.rs
rename to core/core/src/services/d1/config.rs
diff --git a/core/src/services/d1/core.rs b/core/core/src/services/d1/core.rs
similarity index 100%
rename from core/src/services/d1/core.rs
rename to core/core/src/services/d1/core.rs
diff --git a/core/src/services/d1/deleter.rs b/core/core/src/services/d1/deleter.rs
similarity index 100%
rename from core/src/services/d1/deleter.rs
rename to core/core/src/services/d1/deleter.rs
diff --git a/core/src/services/d1/docs.md b/core/core/src/services/d1/docs.md
similarity index 100%
rename from core/src/services/d1/docs.md
rename to core/core/src/services/d1/docs.md
diff --git a/core/src/services/d1/error.rs b/core/core/src/services/d1/error.rs
similarity index 100%
rename from core/src/services/d1/error.rs
rename to core/core/src/services/d1/error.rs
diff --git a/core/src/services/d1/mod.rs b/core/core/src/services/d1/mod.rs
similarity index 100%
rename from core/src/services/d1/mod.rs
rename to core/core/src/services/d1/mod.rs
diff --git a/core/src/services/d1/model.rs b/core/core/src/services/d1/model.rs
similarity index 100%
rename from core/src/services/d1/model.rs
rename to core/core/src/services/d1/model.rs
diff --git a/core/src/services/d1/writer.rs b/core/core/src/services/d1/writer.rs
similarity index 100%
rename from core/src/services/d1/writer.rs
rename to core/core/src/services/d1/writer.rs
diff --git a/core/src/services/dashmap/backend.rs b/core/core/src/services/dashmap/backend.rs
similarity index 100%
rename from core/src/services/dashmap/backend.rs
rename to core/core/src/services/dashmap/backend.rs
diff --git a/core/src/services/dashmap/config.rs b/core/core/src/services/dashmap/config.rs
similarity index 100%
rename from core/src/services/dashmap/config.rs
rename to core/core/src/services/dashmap/config.rs
diff --git a/core/src/services/dashmap/core.rs b/core/core/src/services/dashmap/core.rs
similarity index 100%
rename from core/src/services/dashmap/core.rs
rename to core/core/src/services/dashmap/core.rs
diff --git a/core/src/services/dashmap/deleter.rs b/core/core/src/services/dashmap/deleter.rs
similarity index 100%
rename from core/src/services/dashmap/deleter.rs
rename to core/core/src/services/dashmap/deleter.rs
diff --git a/core/src/services/dashmap/docs.md b/core/core/src/services/dashmap/docs.md
similarity index 100%
rename from core/src/services/dashmap/docs.md
rename to core/core/src/services/dashmap/docs.md
diff --git a/core/src/services/dashmap/lister.rs b/core/core/src/services/dashmap/lister.rs
similarity index 100%
rename from core/src/services/dashmap/lister.rs
rename to core/core/src/services/dashmap/lister.rs
diff --git a/core/src/services/dashmap/mod.rs b/core/core/src/services/dashmap/mod.rs
similarity index 100%
rename from core/src/services/dashmap/mod.rs
rename to core/core/src/services/dashmap/mod.rs
diff --git a/core/src/services/dashmap/writer.rs b/core/core/src/services/dashmap/writer.rs
similarity index 100%
rename from core/src/services/dashmap/writer.rs
rename to core/core/src/services/dashmap/writer.rs
diff --git a/core/src/services/dbfs/backend.rs b/core/core/src/services/dbfs/backend.rs
similarity index 100%
rename from core/src/services/dbfs/backend.rs
rename to core/core/src/services/dbfs/backend.rs
diff --git a/core/src/services/dbfs/config.rs b/core/core/src/services/dbfs/config.rs
similarity index 100%
rename from core/src/services/dbfs/config.rs
rename to core/core/src/services/dbfs/config.rs
diff --git a/core/src/services/dbfs/core.rs b/core/core/src/services/dbfs/core.rs
similarity index 100%
rename from core/src/services/dbfs/core.rs
rename to core/core/src/services/dbfs/core.rs
diff --git a/core/src/services/dbfs/deleter.rs b/core/core/src/services/dbfs/deleter.rs
similarity index 100%
rename from core/src/services/dbfs/deleter.rs
rename to core/core/src/services/dbfs/deleter.rs
diff --git a/core/src/services/dbfs/docs.md b/core/core/src/services/dbfs/docs.md
similarity index 100%
rename from core/src/services/dbfs/docs.md
rename to core/core/src/services/dbfs/docs.md
diff --git a/core/src/services/dbfs/error.rs b/core/core/src/services/dbfs/error.rs
similarity index 100%
rename from core/src/services/dbfs/error.rs
rename to core/core/src/services/dbfs/error.rs
diff --git a/core/src/services/dbfs/lister.rs b/core/core/src/services/dbfs/lister.rs
similarity index 100%
rename from core/src/services/dbfs/lister.rs
rename to core/core/src/services/dbfs/lister.rs
diff --git a/core/src/services/dbfs/mod.rs b/core/core/src/services/dbfs/mod.rs
similarity index 100%
rename from core/src/services/dbfs/mod.rs
rename to core/core/src/services/dbfs/mod.rs
diff --git a/core/src/services/dbfs/writer.rs b/core/core/src/services/dbfs/writer.rs
similarity index 100%
rename from core/src/services/dbfs/writer.rs
rename to core/core/src/services/dbfs/writer.rs
diff --git a/core/src/services/dropbox/backend.rs b/core/core/src/services/dropbox/backend.rs
similarity index 100%
rename from core/src/services/dropbox/backend.rs
rename to core/core/src/services/dropbox/backend.rs
diff --git a/core/src/services/dropbox/builder.rs b/core/core/src/services/dropbox/builder.rs
similarity index 100%
rename from core/src/services/dropbox/builder.rs
rename to core/core/src/services/dropbox/builder.rs
diff --git a/core/src/services/dropbox/config.rs b/core/core/src/services/dropbox/config.rs
similarity index 100%
rename from core/src/services/dropbox/config.rs
rename to core/core/src/services/dropbox/config.rs
diff --git a/core/src/services/dropbox/core.rs b/core/core/src/services/dropbox/core.rs
similarity index 100%
rename from core/src/services/dropbox/core.rs
rename to core/core/src/services/dropbox/core.rs
diff --git a/core/src/services/dropbox/deleter.rs b/core/core/src/services/dropbox/deleter.rs
similarity index 100%
rename from core/src/services/dropbox/deleter.rs
rename to core/core/src/services/dropbox/deleter.rs
diff --git a/core/src/services/dropbox/docs.md b/core/core/src/services/dropbox/docs.md
similarity index 100%
rename from core/src/services/dropbox/docs.md
rename to core/core/src/services/dropbox/docs.md
diff --git a/core/src/services/dropbox/error.rs b/core/core/src/services/dropbox/error.rs
similarity index 100%
rename from core/src/services/dropbox/error.rs
rename to core/core/src/services/dropbox/error.rs
diff --git a/core/src/services/dropbox/lister.rs b/core/core/src/services/dropbox/lister.rs
similarity index 100%
rename from core/src/services/dropbox/lister.rs
rename to core/core/src/services/dropbox/lister.rs
diff --git a/core/src/services/dropbox/mod.rs b/core/core/src/services/dropbox/mod.rs
similarity index 100%
rename from core/src/services/dropbox/mod.rs
rename to core/core/src/services/dropbox/mod.rs
diff --git a/core/src/services/dropbox/writer.rs b/core/core/src/services/dropbox/writer.rs
similarity index 100%
rename from core/src/services/dropbox/writer.rs
rename to core/core/src/services/dropbox/writer.rs
diff --git a/core/src/services/etcd/backend.rs b/core/core/src/services/etcd/backend.rs
similarity index 100%
rename from core/src/services/etcd/backend.rs
rename to core/core/src/services/etcd/backend.rs
diff --git a/core/src/services/etcd/config.rs b/core/core/src/services/etcd/config.rs
similarity index 100%
rename from core/src/services/etcd/config.rs
rename to core/core/src/services/etcd/config.rs
diff --git a/core/src/services/etcd/core.rs b/core/core/src/services/etcd/core.rs
similarity index 100%
rename from core/src/services/etcd/core.rs
rename to core/core/src/services/etcd/core.rs
diff --git a/core/src/services/etcd/deleter.rs b/core/core/src/services/etcd/deleter.rs
similarity index 100%
rename from core/src/services/etcd/deleter.rs
rename to core/core/src/services/etcd/deleter.rs
diff --git a/core/src/services/etcd/docs.md b/core/core/src/services/etcd/docs.md
similarity index 100%
rename from core/src/services/etcd/docs.md
rename to core/core/src/services/etcd/docs.md
diff --git a/core/src/services/etcd/error.rs b/core/core/src/services/etcd/error.rs
similarity index 100%
rename from core/src/services/etcd/error.rs
rename to core/core/src/services/etcd/error.rs
diff --git a/core/src/services/etcd/lister.rs b/core/core/src/services/etcd/lister.rs
similarity index 100%
rename from core/src/services/etcd/lister.rs
rename to core/core/src/services/etcd/lister.rs
diff --git a/core/src/services/etcd/mod.rs b/core/core/src/services/etcd/mod.rs
similarity index 100%
rename from core/src/services/etcd/mod.rs
rename to core/core/src/services/etcd/mod.rs
diff --git a/core/src/services/etcd/writer.rs b/core/core/src/services/etcd/writer.rs
similarity index 100%
rename from core/src/services/etcd/writer.rs
rename to core/core/src/services/etcd/writer.rs
diff --git a/core/src/services/foundationdb/backend.rs b/core/core/src/services/foundationdb/backend.rs
similarity index 100%
rename from core/src/services/foundationdb/backend.rs
rename to core/core/src/services/foundationdb/backend.rs
diff --git a/core/src/services/foundationdb/config.rs b/core/core/src/services/foundationdb/config.rs
similarity index 100%
rename from core/src/services/foundationdb/config.rs
rename to core/core/src/services/foundationdb/config.rs
diff --git a/core/src/services/foundationdb/core.rs b/core/core/src/services/foundationdb/core.rs
similarity index 100%
rename from core/src/services/foundationdb/core.rs
rename to core/core/src/services/foundationdb/core.rs
diff --git a/core/src/services/foundationdb/deleter.rs b/core/core/src/services/foundationdb/deleter.rs
similarity index 100%
rename from core/src/services/foundationdb/deleter.rs
rename to core/core/src/services/foundationdb/deleter.rs
diff --git a/core/src/services/foundationdb/docs.md b/core/core/src/services/foundationdb/docs.md
similarity index 100%
rename from core/src/services/foundationdb/docs.md
rename to core/core/src/services/foundationdb/docs.md
diff --git a/core/src/services/foundationdb/mod.rs b/core/core/src/services/foundationdb/mod.rs
similarity index 100%
rename from core/src/services/foundationdb/mod.rs
rename to core/core/src/services/foundationdb/mod.rs
diff --git a/core/src/services/foundationdb/writer.rs b/core/core/src/services/foundationdb/writer.rs
similarity index 100%
rename from core/src/services/foundationdb/writer.rs
rename to core/core/src/services/foundationdb/writer.rs
diff --git a/core/src/services/fs/backend.rs b/core/core/src/services/fs/backend.rs
similarity index 100%
rename from core/src/services/fs/backend.rs
rename to core/core/src/services/fs/backend.rs
diff --git a/core/src/services/fs/config.rs b/core/core/src/services/fs/config.rs
similarity index 100%
rename from core/src/services/fs/config.rs
rename to core/core/src/services/fs/config.rs
diff --git a/core/src/services/fs/core.rs b/core/core/src/services/fs/core.rs
similarity index 100%
rename from core/src/services/fs/core.rs
rename to core/core/src/services/fs/core.rs
diff --git a/core/src/services/fs/deleter.rs b/core/core/src/services/fs/deleter.rs
similarity index 100%
rename from core/src/services/fs/deleter.rs
rename to core/core/src/services/fs/deleter.rs
diff --git a/core/src/services/fs/docs.md b/core/core/src/services/fs/docs.md
similarity index 100%
rename from core/src/services/fs/docs.md
rename to core/core/src/services/fs/docs.md
diff --git a/core/src/services/fs/error.rs b/core/core/src/services/fs/error.rs
similarity index 100%
rename from core/src/services/fs/error.rs
rename to core/core/src/services/fs/error.rs
diff --git a/core/src/services/fs/lister.rs b/core/core/src/services/fs/lister.rs
similarity index 100%
rename from core/src/services/fs/lister.rs
rename to core/core/src/services/fs/lister.rs
diff --git a/core/src/services/fs/mod.rs b/core/core/src/services/fs/mod.rs
similarity index 100%
rename from core/src/services/fs/mod.rs
rename to core/core/src/services/fs/mod.rs
diff --git a/core/src/services/fs/reader.rs b/core/core/src/services/fs/reader.rs
similarity index 100%
rename from core/src/services/fs/reader.rs
rename to core/core/src/services/fs/reader.rs
diff --git a/core/src/services/fs/writer.rs b/core/core/src/services/fs/writer.rs
similarity index 100%
rename from core/src/services/fs/writer.rs
rename to core/core/src/services/fs/writer.rs
diff --git a/core/src/services/ftp/backend.rs b/core/core/src/services/ftp/backend.rs
similarity index 100%
rename from core/src/services/ftp/backend.rs
rename to core/core/src/services/ftp/backend.rs
diff --git a/core/src/services/ftp/config.rs b/core/core/src/services/ftp/config.rs
similarity index 100%
rename from core/src/services/ftp/config.rs
rename to core/core/src/services/ftp/config.rs
diff --git a/core/src/services/ftp/core.rs b/core/core/src/services/ftp/core.rs
similarity index 100%
rename from core/src/services/ftp/core.rs
rename to core/core/src/services/ftp/core.rs
diff --git a/core/src/services/ftp/deleter.rs b/core/core/src/services/ftp/deleter.rs
similarity index 100%
rename from core/src/services/ftp/deleter.rs
rename to core/core/src/services/ftp/deleter.rs
diff --git a/core/src/services/ftp/docs.md b/core/core/src/services/ftp/docs.md
similarity index 100%
rename from core/src/services/ftp/docs.md
rename to core/core/src/services/ftp/docs.md
diff --git a/core/src/services/ftp/err.rs b/core/core/src/services/ftp/err.rs
similarity index 100%
rename from core/src/services/ftp/err.rs
rename to core/core/src/services/ftp/err.rs
diff --git a/core/src/services/ftp/lister.rs b/core/core/src/services/ftp/lister.rs
similarity index 100%
rename from core/src/services/ftp/lister.rs
rename to core/core/src/services/ftp/lister.rs
diff --git a/core/src/services/ftp/mod.rs b/core/core/src/services/ftp/mod.rs
similarity index 100%
rename from core/src/services/ftp/mod.rs
rename to core/core/src/services/ftp/mod.rs
diff --git a/core/src/services/ftp/reader.rs b/core/core/src/services/ftp/reader.rs
similarity index 100%
rename from core/src/services/ftp/reader.rs
rename to core/core/src/services/ftp/reader.rs
diff --git a/core/src/services/ftp/writer.rs b/core/core/src/services/ftp/writer.rs
similarity index 100%
rename from core/src/services/ftp/writer.rs
rename to core/core/src/services/ftp/writer.rs
diff --git a/core/src/services/gcs/backend.rs b/core/core/src/services/gcs/backend.rs
similarity index 100%
rename from core/src/services/gcs/backend.rs
rename to core/core/src/services/gcs/backend.rs
diff --git a/core/src/services/gcs/config.rs b/core/core/src/services/gcs/config.rs
similarity index 100%
rename from core/src/services/gcs/config.rs
rename to core/core/src/services/gcs/config.rs
diff --git a/core/src/services/gcs/core.rs b/core/core/src/services/gcs/core.rs
similarity index 100%
rename from core/src/services/gcs/core.rs
rename to core/core/src/services/gcs/core.rs
diff --git a/core/src/services/gcs/deleter.rs b/core/core/src/services/gcs/deleter.rs
similarity index 100%
rename from core/src/services/gcs/deleter.rs
rename to core/core/src/services/gcs/deleter.rs
diff --git a/core/src/services/gcs/docs.md b/core/core/src/services/gcs/docs.md
similarity index 100%
rename from core/src/services/gcs/docs.md
rename to core/core/src/services/gcs/docs.md
diff --git a/core/src/services/gcs/error.rs b/core/core/src/services/gcs/error.rs
similarity index 100%
rename from core/src/services/gcs/error.rs
rename to core/core/src/services/gcs/error.rs
diff --git a/core/src/services/gcs/lister.rs b/core/core/src/services/gcs/lister.rs
similarity index 100%
rename from core/src/services/gcs/lister.rs
rename to core/core/src/services/gcs/lister.rs
diff --git a/core/src/services/gcs/mod.rs b/core/core/src/services/gcs/mod.rs
similarity index 100%
rename from core/src/services/gcs/mod.rs
rename to core/core/src/services/gcs/mod.rs
diff --git a/core/src/services/gcs/uri.rs b/core/core/src/services/gcs/uri.rs
similarity index 100%
rename from core/src/services/gcs/uri.rs
rename to core/core/src/services/gcs/uri.rs
diff --git a/core/src/services/gcs/writer.rs b/core/core/src/services/gcs/writer.rs
similarity index 100%
rename from core/src/services/gcs/writer.rs
rename to core/core/src/services/gcs/writer.rs
diff --git a/core/src/services/gdrive/backend.rs b/core/core/src/services/gdrive/backend.rs
similarity index 100%
rename from core/src/services/gdrive/backend.rs
rename to core/core/src/services/gdrive/backend.rs
diff --git a/core/src/services/gdrive/builder.rs b/core/core/src/services/gdrive/builder.rs
similarity index 100%
rename from core/src/services/gdrive/builder.rs
rename to core/core/src/services/gdrive/builder.rs
diff --git a/core/src/services/gdrive/config.rs b/core/core/src/services/gdrive/config.rs
similarity index 100%
rename from core/src/services/gdrive/config.rs
rename to core/core/src/services/gdrive/config.rs
diff --git a/core/src/services/gdrive/core.rs b/core/core/src/services/gdrive/core.rs
similarity index 100%
rename from core/src/services/gdrive/core.rs
rename to core/core/src/services/gdrive/core.rs
diff --git a/core/src/services/gdrive/deleter.rs b/core/core/src/services/gdrive/deleter.rs
similarity index 100%
rename from core/src/services/gdrive/deleter.rs
rename to core/core/src/services/gdrive/deleter.rs
diff --git a/core/src/services/gdrive/docs.md b/core/core/src/services/gdrive/docs.md
similarity index 100%
rename from core/src/services/gdrive/docs.md
rename to core/core/src/services/gdrive/docs.md
diff --git a/core/src/services/gdrive/error.rs b/core/core/src/services/gdrive/error.rs
similarity index 100%
rename from core/src/services/gdrive/error.rs
rename to core/core/src/services/gdrive/error.rs
diff --git a/core/src/services/gdrive/lister.rs b/core/core/src/services/gdrive/lister.rs
similarity index 100%
rename from core/src/services/gdrive/lister.rs
rename to core/core/src/services/gdrive/lister.rs
diff --git a/core/src/services/gdrive/mod.rs b/core/core/src/services/gdrive/mod.rs
similarity index 100%
rename from core/src/services/gdrive/mod.rs
rename to core/core/src/services/gdrive/mod.rs
diff --git a/core/src/services/gdrive/writer.rs b/core/core/src/services/gdrive/writer.rs
similarity index 100%
rename from core/src/services/gdrive/writer.rs
rename to core/core/src/services/gdrive/writer.rs
diff --git a/core/src/services/ghac/backend.rs b/core/core/src/services/ghac/backend.rs
similarity index 100%
rename from core/src/services/ghac/backend.rs
rename to core/core/src/services/ghac/backend.rs
diff --git a/core/src/services/ghac/config.rs b/core/core/src/services/ghac/config.rs
similarity index 100%
rename from core/src/services/ghac/config.rs
rename to core/core/src/services/ghac/config.rs
diff --git a/core/src/services/ghac/core.rs b/core/core/src/services/ghac/core.rs
similarity index 100%
rename from core/src/services/ghac/core.rs
rename to core/core/src/services/ghac/core.rs
diff --git a/core/src/services/ghac/docs.md b/core/core/src/services/ghac/docs.md
similarity index 100%
rename from core/src/services/ghac/docs.md
rename to core/core/src/services/ghac/docs.md
diff --git a/core/src/services/ghac/error.rs b/core/core/src/services/ghac/error.rs
similarity index 100%
rename from core/src/services/ghac/error.rs
rename to core/core/src/services/ghac/error.rs
diff --git a/core/src/services/ghac/mod.rs b/core/core/src/services/ghac/mod.rs
similarity index 100%
rename from core/src/services/ghac/mod.rs
rename to core/core/src/services/ghac/mod.rs
diff --git a/core/src/services/ghac/writer.rs b/core/core/src/services/ghac/writer.rs
similarity index 100%
rename from core/src/services/ghac/writer.rs
rename to core/core/src/services/ghac/writer.rs
diff --git a/core/src/services/github/backend.rs b/core/core/src/services/github/backend.rs
similarity index 100%
rename from core/src/services/github/backend.rs
rename to core/core/src/services/github/backend.rs
diff --git a/core/src/services/github/config.rs b/core/core/src/services/github/config.rs
similarity index 100%
rename from core/src/services/github/config.rs
rename to core/core/src/services/github/config.rs
diff --git a/core/src/services/github/core.rs b/core/core/src/services/github/core.rs
similarity index 100%
rename from core/src/services/github/core.rs
rename to core/core/src/services/github/core.rs
diff --git a/core/src/services/github/deleter.rs b/core/core/src/services/github/deleter.rs
similarity index 100%
rename from core/src/services/github/deleter.rs
rename to core/core/src/services/github/deleter.rs
diff --git a/core/src/services/github/docs.md b/core/core/src/services/github/docs.md
similarity index 100%
rename from core/src/services/github/docs.md
rename to core/core/src/services/github/docs.md
diff --git a/core/src/services/github/error.rs b/core/core/src/services/github/error.rs
similarity index 100%
rename from core/src/services/github/error.rs
rename to core/core/src/services/github/error.rs
diff --git a/core/src/services/github/lister.rs b/core/core/src/services/github/lister.rs
similarity index 100%
rename from core/src/services/github/lister.rs
rename to core/core/src/services/github/lister.rs
diff --git a/core/src/services/github/mod.rs b/core/core/src/services/github/mod.rs
similarity index 100%
rename from core/src/services/github/mod.rs
rename to core/core/src/services/github/mod.rs
diff --git a/core/src/services/github/writer.rs b/core/core/src/services/github/writer.rs
similarity index 100%
rename from core/src/services/github/writer.rs
rename to core/core/src/services/github/writer.rs
diff --git a/core/src/services/gridfs/backend.rs b/core/core/src/services/gridfs/backend.rs
similarity index 100%
rename from core/src/services/gridfs/backend.rs
rename to core/core/src/services/gridfs/backend.rs
diff --git a/core/src/services/gridfs/config.rs b/core/core/src/services/gridfs/config.rs
similarity index 100%
rename from core/src/services/gridfs/config.rs
rename to core/core/src/services/gridfs/config.rs
diff --git a/core/src/services/gridfs/core.rs b/core/core/src/services/gridfs/core.rs
similarity index 100%
rename from core/src/services/gridfs/core.rs
rename to core/core/src/services/gridfs/core.rs
diff --git a/core/src/services/gridfs/deleter.rs b/core/core/src/services/gridfs/deleter.rs
similarity index 100%
rename from core/src/services/gridfs/deleter.rs
rename to core/core/src/services/gridfs/deleter.rs
diff --git a/core/src/services/gridfs/docs.md b/core/core/src/services/gridfs/docs.md
similarity index 100%
rename from core/src/services/gridfs/docs.md
rename to core/core/src/services/gridfs/docs.md
diff --git a/core/src/services/gridfs/mod.rs b/core/core/src/services/gridfs/mod.rs
similarity index 100%
rename from core/src/services/gridfs/mod.rs
rename to core/core/src/services/gridfs/mod.rs
diff --git a/core/src/services/gridfs/writer.rs b/core/core/src/services/gridfs/writer.rs
similarity index 100%
rename from core/src/services/gridfs/writer.rs
rename to core/core/src/services/gridfs/writer.rs
diff --git a/core/src/services/hdfs/backend.rs b/core/core/src/services/hdfs/backend.rs
similarity index 100%
rename from core/src/services/hdfs/backend.rs
rename to core/core/src/services/hdfs/backend.rs
diff --git a/core/src/services/hdfs/config.rs b/core/core/src/services/hdfs/config.rs
similarity index 100%
rename from core/src/services/hdfs/config.rs
rename to core/core/src/services/hdfs/config.rs
diff --git a/core/src/services/hdfs/core.rs b/core/core/src/services/hdfs/core.rs
similarity index 100%
rename from core/src/services/hdfs/core.rs
rename to core/core/src/services/hdfs/core.rs
diff --git a/core/src/services/hdfs/deleter.rs b/core/core/src/services/hdfs/deleter.rs
similarity index 100%
rename from core/src/services/hdfs/deleter.rs
rename to core/core/src/services/hdfs/deleter.rs
diff --git a/core/src/services/hdfs/docs.md b/core/core/src/services/hdfs/docs.md
similarity index 100%
rename from core/src/services/hdfs/docs.md
rename to core/core/src/services/hdfs/docs.md
diff --git a/core/src/services/hdfs/lister.rs b/core/core/src/services/hdfs/lister.rs
similarity index 100%
rename from core/src/services/hdfs/lister.rs
rename to core/core/src/services/hdfs/lister.rs
diff --git a/core/src/services/hdfs/mod.rs b/core/core/src/services/hdfs/mod.rs
similarity index 100%
rename from core/src/services/hdfs/mod.rs
rename to core/core/src/services/hdfs/mod.rs
diff --git a/core/src/services/hdfs/reader.rs b/core/core/src/services/hdfs/reader.rs
similarity index 100%
rename from core/src/services/hdfs/reader.rs
rename to core/core/src/services/hdfs/reader.rs
diff --git a/core/src/services/hdfs/writer.rs b/core/core/src/services/hdfs/writer.rs
similarity index 100%
rename from core/src/services/hdfs/writer.rs
rename to core/core/src/services/hdfs/writer.rs
diff --git a/core/src/services/hdfs_native/backend.rs b/core/core/src/services/hdfs_native/backend.rs
similarity index 100%
rename from core/src/services/hdfs_native/backend.rs
rename to core/core/src/services/hdfs_native/backend.rs
diff --git a/core/src/services/hdfs_native/config.rs b/core/core/src/services/hdfs_native/config.rs
similarity index 100%
rename from core/src/services/hdfs_native/config.rs
rename to core/core/src/services/hdfs_native/config.rs
diff --git a/core/src/services/hdfs_native/core.rs b/core/core/src/services/hdfs_native/core.rs
similarity index 100%
rename from core/src/services/hdfs_native/core.rs
rename to core/core/src/services/hdfs_native/core.rs
diff --git a/core/src/services/hdfs_native/deleter.rs b/core/core/src/services/hdfs_native/deleter.rs
similarity index 100%
rename from core/src/services/hdfs_native/deleter.rs
rename to core/core/src/services/hdfs_native/deleter.rs
diff --git a/core/src/services/hdfs_native/docs.md b/core/core/src/services/hdfs_native/docs.md
similarity index 100%
rename from core/src/services/hdfs_native/docs.md
rename to core/core/src/services/hdfs_native/docs.md
diff --git a/core/src/services/hdfs_native/error.rs b/core/core/src/services/hdfs_native/error.rs
similarity index 100%
rename from core/src/services/hdfs_native/error.rs
rename to core/core/src/services/hdfs_native/error.rs
diff --git a/core/src/services/hdfs_native/lister.rs b/core/core/src/services/hdfs_native/lister.rs
similarity index 100%
rename from core/src/services/hdfs_native/lister.rs
rename to core/core/src/services/hdfs_native/lister.rs
diff --git a/core/src/services/hdfs_native/mod.rs b/core/core/src/services/hdfs_native/mod.rs
similarity index 100%
rename from core/src/services/hdfs_native/mod.rs
rename to core/core/src/services/hdfs_native/mod.rs
diff --git a/core/src/services/hdfs_native/reader.rs b/core/core/src/services/hdfs_native/reader.rs
similarity index 100%
rename from core/src/services/hdfs_native/reader.rs
rename to core/core/src/services/hdfs_native/reader.rs
diff --git a/core/src/services/hdfs_native/writer.rs b/core/core/src/services/hdfs_native/writer.rs
similarity index 100%
rename from core/src/services/hdfs_native/writer.rs
rename to core/core/src/services/hdfs_native/writer.rs
diff --git a/core/src/services/http/backend.rs b/core/core/src/services/http/backend.rs
similarity index 100%
rename from core/src/services/http/backend.rs
rename to core/core/src/services/http/backend.rs
diff --git a/core/src/services/http/config.rs b/core/core/src/services/http/config.rs
similarity index 100%
rename from core/src/services/http/config.rs
rename to core/core/src/services/http/config.rs
diff --git a/core/src/services/http/core.rs b/core/core/src/services/http/core.rs
similarity index 100%
rename from core/src/services/http/core.rs
rename to core/core/src/services/http/core.rs
diff --git a/core/src/services/http/docs.md b/core/core/src/services/http/docs.md
similarity index 100%
rename from core/src/services/http/docs.md
rename to core/core/src/services/http/docs.md
diff --git a/core/src/services/http/error.rs b/core/core/src/services/http/error.rs
similarity index 100%
rename from core/src/services/http/error.rs
rename to core/core/src/services/http/error.rs
diff --git a/core/src/services/http/mod.rs b/core/core/src/services/http/mod.rs
similarity index 100%
rename from core/src/services/http/mod.rs
rename to core/core/src/services/http/mod.rs
diff --git a/core/src/services/huggingface/backend.rs b/core/core/src/services/huggingface/backend.rs
similarity index 100%
rename from core/src/services/huggingface/backend.rs
rename to core/core/src/services/huggingface/backend.rs
diff --git a/core/src/services/huggingface/config.rs b/core/core/src/services/huggingface/config.rs
similarity index 100%
rename from core/src/services/huggingface/config.rs
rename to core/core/src/services/huggingface/config.rs
diff --git a/core/src/services/huggingface/core.rs b/core/core/src/services/huggingface/core.rs
similarity index 100%
rename from core/src/services/huggingface/core.rs
rename to core/core/src/services/huggingface/core.rs
diff --git a/core/src/services/huggingface/docs.md b/core/core/src/services/huggingface/docs.md
similarity index 100%
rename from core/src/services/huggingface/docs.md
rename to core/core/src/services/huggingface/docs.md
diff --git a/core/src/services/huggingface/error.rs b/core/core/src/services/huggingface/error.rs
similarity index 100%
rename from core/src/services/huggingface/error.rs
rename to core/core/src/services/huggingface/error.rs
diff --git a/core/src/services/huggingface/lister.rs b/core/core/src/services/huggingface/lister.rs
similarity index 100%
rename from core/src/services/huggingface/lister.rs
rename to core/core/src/services/huggingface/lister.rs
diff --git a/core/src/services/huggingface/mod.rs b/core/core/src/services/huggingface/mod.rs
similarity index 100%
rename from core/src/services/huggingface/mod.rs
rename to core/core/src/services/huggingface/mod.rs
diff --git a/core/src/services/ipfs/backend.rs b/core/core/src/services/ipfs/backend.rs
similarity index 100%
rename from core/src/services/ipfs/backend.rs
rename to core/core/src/services/ipfs/backend.rs
diff --git a/core/src/services/ipfs/config.rs b/core/core/src/services/ipfs/config.rs
similarity index 100%
rename from core/src/services/ipfs/config.rs
rename to core/core/src/services/ipfs/config.rs
diff --git a/core/src/services/ipfs/core.rs b/core/core/src/services/ipfs/core.rs
similarity index 100%
rename from core/src/services/ipfs/core.rs
rename to core/core/src/services/ipfs/core.rs
diff --git a/core/src/services/ipfs/docs.md b/core/core/src/services/ipfs/docs.md
similarity index 100%
rename from core/src/services/ipfs/docs.md
rename to core/core/src/services/ipfs/docs.md
diff --git a/core/src/services/ipfs/error.rs b/core/core/src/services/ipfs/error.rs
similarity index 100%
rename from core/src/services/ipfs/error.rs
rename to core/core/src/services/ipfs/error.rs
diff --git a/core/src/services/ipfs/ipld.rs b/core/core/src/services/ipfs/ipld.rs
similarity index 100%
rename from core/src/services/ipfs/ipld.rs
rename to core/core/src/services/ipfs/ipld.rs
diff --git a/core/src/services/ipfs/mod.rs b/core/core/src/services/ipfs/mod.rs
similarity index 100%
rename from core/src/services/ipfs/mod.rs
rename to core/core/src/services/ipfs/mod.rs
diff --git a/core/src/services/ipmfs/backend.rs b/core/core/src/services/ipmfs/backend.rs
similarity index 100%
rename from core/src/services/ipmfs/backend.rs
rename to core/core/src/services/ipmfs/backend.rs
diff --git a/core/src/services/ipmfs/builder.rs b/core/core/src/services/ipmfs/builder.rs
similarity index 100%
rename from core/src/services/ipmfs/builder.rs
rename to core/core/src/services/ipmfs/builder.rs
diff --git a/core/src/services/ipmfs/config.rs b/core/core/src/services/ipmfs/config.rs
similarity index 100%
rename from core/src/services/ipmfs/config.rs
rename to core/core/src/services/ipmfs/config.rs
diff --git a/core/src/services/ipmfs/core.rs b/core/core/src/services/ipmfs/core.rs
similarity index 100%
rename from core/src/services/ipmfs/core.rs
rename to core/core/src/services/ipmfs/core.rs
diff --git a/core/src/services/ipmfs/deleter.rs b/core/core/src/services/ipmfs/deleter.rs
similarity index 100%
rename from core/src/services/ipmfs/deleter.rs
rename to core/core/src/services/ipmfs/deleter.rs
diff --git a/core/src/services/ipmfs/docs.md b/core/core/src/services/ipmfs/docs.md
similarity index 100%
rename from core/src/services/ipmfs/docs.md
rename to core/core/src/services/ipmfs/docs.md
diff --git a/core/src/services/ipmfs/error.rs b/core/core/src/services/ipmfs/error.rs
similarity index 100%
rename from core/src/services/ipmfs/error.rs
rename to core/core/src/services/ipmfs/error.rs
diff --git a/core/src/services/ipmfs/lister.rs b/core/core/src/services/ipmfs/lister.rs
similarity index 100%
rename from core/src/services/ipmfs/lister.rs
rename to core/core/src/services/ipmfs/lister.rs
diff --git a/core/src/services/ipmfs/mod.rs b/core/core/src/services/ipmfs/mod.rs
similarity index 100%
rename from core/src/services/ipmfs/mod.rs
rename to core/core/src/services/ipmfs/mod.rs
diff --git a/core/src/services/ipmfs/writer.rs b/core/core/src/services/ipmfs/writer.rs
similarity index 100%
rename from core/src/services/ipmfs/writer.rs
rename to core/core/src/services/ipmfs/writer.rs
diff --git a/core/src/services/koofr/backend.rs b/core/core/src/services/koofr/backend.rs
similarity index 100%
rename from core/src/services/koofr/backend.rs
rename to core/core/src/services/koofr/backend.rs
diff --git a/core/src/services/koofr/config.rs b/core/core/src/services/koofr/config.rs
similarity index 100%
rename from core/src/services/koofr/config.rs
rename to core/core/src/services/koofr/config.rs
diff --git a/core/src/services/koofr/core.rs b/core/core/src/services/koofr/core.rs
similarity index 100%
rename from core/src/services/koofr/core.rs
rename to core/core/src/services/koofr/core.rs
diff --git a/core/src/services/koofr/deleter.rs b/core/core/src/services/koofr/deleter.rs
similarity index 100%
rename from core/src/services/koofr/deleter.rs
rename to core/core/src/services/koofr/deleter.rs
diff --git a/core/src/services/koofr/docs.md b/core/core/src/services/koofr/docs.md
similarity index 100%
rename from core/src/services/koofr/docs.md
rename to core/core/src/services/koofr/docs.md
diff --git a/core/src/services/koofr/error.rs b/core/core/src/services/koofr/error.rs
similarity index 100%
rename from core/src/services/koofr/error.rs
rename to core/core/src/services/koofr/error.rs
diff --git a/core/src/services/koofr/lister.rs b/core/core/src/services/koofr/lister.rs
similarity index 100%
rename from core/src/services/koofr/lister.rs
rename to core/core/src/services/koofr/lister.rs
diff --git a/core/src/services/koofr/mod.rs b/core/core/src/services/koofr/mod.rs
similarity index 100%
rename from core/src/services/koofr/mod.rs
rename to core/core/src/services/koofr/mod.rs
diff --git a/core/src/services/koofr/writer.rs b/core/core/src/services/koofr/writer.rs
similarity index 100%
rename from core/src/services/koofr/writer.rs
rename to core/core/src/services/koofr/writer.rs
diff --git a/core/src/services/lakefs/backend.rs b/core/core/src/services/lakefs/backend.rs
similarity index 100%
rename from core/src/services/lakefs/backend.rs
rename to core/core/src/services/lakefs/backend.rs
diff --git a/core/src/services/lakefs/config.rs b/core/core/src/services/lakefs/config.rs
similarity index 100%
rename from core/src/services/lakefs/config.rs
rename to core/core/src/services/lakefs/config.rs
diff --git a/core/src/services/lakefs/core.rs b/core/core/src/services/lakefs/core.rs
similarity index 100%
rename from core/src/services/lakefs/core.rs
rename to core/core/src/services/lakefs/core.rs
diff --git a/core/src/services/lakefs/deleter.rs b/core/core/src/services/lakefs/deleter.rs
similarity index 100%
rename from core/src/services/lakefs/deleter.rs
rename to core/core/src/services/lakefs/deleter.rs
diff --git a/core/src/services/lakefs/docs.md b/core/core/src/services/lakefs/docs.md
similarity index 100%
rename from core/src/services/lakefs/docs.md
rename to core/core/src/services/lakefs/docs.md
diff --git a/core/src/services/lakefs/error.rs b/core/core/src/services/lakefs/error.rs
similarity index 100%
rename from core/src/services/lakefs/error.rs
rename to core/core/src/services/lakefs/error.rs
diff --git a/core/src/services/lakefs/lister.rs b/core/core/src/services/lakefs/lister.rs
similarity index 100%
rename from core/src/services/lakefs/lister.rs
rename to core/core/src/services/lakefs/lister.rs
diff --git a/core/src/services/lakefs/mod.rs b/core/core/src/services/lakefs/mod.rs
similarity index 100%
rename from core/src/services/lakefs/mod.rs
rename to core/core/src/services/lakefs/mod.rs
diff --git a/core/src/services/lakefs/writer.rs b/core/core/src/services/lakefs/writer.rs
similarity index 100%
rename from core/src/services/lakefs/writer.rs
rename to core/core/src/services/lakefs/writer.rs
diff --git a/core/src/services/memcached/backend.rs b/core/core/src/services/memcached/backend.rs
similarity index 100%
rename from core/src/services/memcached/backend.rs
rename to core/core/src/services/memcached/backend.rs
diff --git a/core/src/services/memcached/binary.rs b/core/core/src/services/memcached/binary.rs
similarity index 100%
rename from core/src/services/memcached/binary.rs
rename to core/core/src/services/memcached/binary.rs
diff --git a/core/src/services/memcached/config.rs b/core/core/src/services/memcached/config.rs
similarity index 100%
rename from core/src/services/memcached/config.rs
rename to core/core/src/services/memcached/config.rs
diff --git a/core/src/services/memcached/core.rs b/core/core/src/services/memcached/core.rs
similarity index 100%
rename from core/src/services/memcached/core.rs
rename to core/core/src/services/memcached/core.rs
diff --git a/core/src/services/memcached/deleter.rs b/core/core/src/services/memcached/deleter.rs
similarity index 100%
rename from core/src/services/memcached/deleter.rs
rename to core/core/src/services/memcached/deleter.rs
diff --git a/core/src/services/memcached/docs.md b/core/core/src/services/memcached/docs.md
similarity index 100%
rename from core/src/services/memcached/docs.md
rename to core/core/src/services/memcached/docs.md
diff --git a/core/src/services/memcached/mod.rs b/core/core/src/services/memcached/mod.rs
similarity index 100%
rename from core/src/services/memcached/mod.rs
rename to core/core/src/services/memcached/mod.rs
diff --git a/core/src/services/memcached/writer.rs b/core/core/src/services/memcached/writer.rs
similarity index 100%
rename from core/src/services/memcached/writer.rs
rename to core/core/src/services/memcached/writer.rs
diff --git a/core/src/services/memory/backend.rs b/core/core/src/services/memory/backend.rs
similarity index 100%
rename from core/src/services/memory/backend.rs
rename to core/core/src/services/memory/backend.rs
diff --git a/core/src/services/memory/config.rs b/core/core/src/services/memory/config.rs
similarity index 100%
rename from core/src/services/memory/config.rs
rename to core/core/src/services/memory/config.rs
diff --git a/core/src/services/memory/core.rs b/core/core/src/services/memory/core.rs
similarity index 100%
rename from core/src/services/memory/core.rs
rename to core/core/src/services/memory/core.rs
diff --git a/core/src/services/memory/deleter.rs b/core/core/src/services/memory/deleter.rs
similarity index 100%
rename from core/src/services/memory/deleter.rs
rename to core/core/src/services/memory/deleter.rs
diff --git a/core/src/services/memory/docs.md b/core/core/src/services/memory/docs.md
similarity index 100%
rename from core/src/services/memory/docs.md
rename to core/core/src/services/memory/docs.md
diff --git a/core/src/services/memory/lister.rs b/core/core/src/services/memory/lister.rs
similarity index 100%
rename from core/src/services/memory/lister.rs
rename to core/core/src/services/memory/lister.rs
diff --git a/core/src/services/memory/mod.rs b/core/core/src/services/memory/mod.rs
similarity index 100%
rename from core/src/services/memory/mod.rs
rename to core/core/src/services/memory/mod.rs
diff --git a/core/src/services/memory/writer.rs b/core/core/src/services/memory/writer.rs
similarity index 100%
rename from core/src/services/memory/writer.rs
rename to core/core/src/services/memory/writer.rs
diff --git a/core/src/services/mini_moka/backend.rs b/core/core/src/services/mini_moka/backend.rs
similarity index 100%
rename from core/src/services/mini_moka/backend.rs
rename to core/core/src/services/mini_moka/backend.rs
diff --git a/core/src/services/mini_moka/config.rs b/core/core/src/services/mini_moka/config.rs
similarity index 100%
rename from core/src/services/mini_moka/config.rs
rename to core/core/src/services/mini_moka/config.rs
diff --git a/core/src/services/mini_moka/core.rs b/core/core/src/services/mini_moka/core.rs
similarity index 100%
rename from core/src/services/mini_moka/core.rs
rename to core/core/src/services/mini_moka/core.rs
diff --git a/core/src/services/mini_moka/deleter.rs b/core/core/src/services/mini_moka/deleter.rs
similarity index 100%
rename from core/src/services/mini_moka/deleter.rs
rename to core/core/src/services/mini_moka/deleter.rs
diff --git a/core/src/services/mini_moka/docs.md b/core/core/src/services/mini_moka/docs.md
similarity index 100%
rename from core/src/services/mini_moka/docs.md
rename to core/core/src/services/mini_moka/docs.md
diff --git a/core/src/services/mini_moka/lister.rs b/core/core/src/services/mini_moka/lister.rs
similarity index 100%
rename from core/src/services/mini_moka/lister.rs
rename to core/core/src/services/mini_moka/lister.rs
diff --git a/core/src/services/mini_moka/mod.rs b/core/core/src/services/mini_moka/mod.rs
similarity index 100%
rename from core/src/services/mini_moka/mod.rs
rename to core/core/src/services/mini_moka/mod.rs
diff --git a/core/src/services/mini_moka/writer.rs b/core/core/src/services/mini_moka/writer.rs
similarity index 100%
rename from core/src/services/mini_moka/writer.rs
rename to core/core/src/services/mini_moka/writer.rs
diff --git a/core/src/services/mod.rs b/core/core/src/services/mod.rs
similarity index 100%
rename from core/src/services/mod.rs
rename to core/core/src/services/mod.rs
diff --git a/core/src/services/moka/backend.rs b/core/core/src/services/moka/backend.rs
similarity index 100%
rename from core/src/services/moka/backend.rs
rename to core/core/src/services/moka/backend.rs
diff --git a/core/src/services/moka/config.rs b/core/core/src/services/moka/config.rs
similarity index 100%
rename from core/src/services/moka/config.rs
rename to core/core/src/services/moka/config.rs
diff --git a/core/src/services/moka/core.rs b/core/core/src/services/moka/core.rs
similarity index 100%
rename from core/src/services/moka/core.rs
rename to core/core/src/services/moka/core.rs
diff --git a/core/src/services/moka/deleter.rs b/core/core/src/services/moka/deleter.rs
similarity index 100%
rename from core/src/services/moka/deleter.rs
rename to core/core/src/services/moka/deleter.rs
diff --git a/core/src/services/moka/docs.md b/core/core/src/services/moka/docs.md
similarity index 100%
rename from core/src/services/moka/docs.md
rename to core/core/src/services/moka/docs.md
diff --git a/core/src/services/moka/lister.rs b/core/core/src/services/moka/lister.rs
similarity index 100%
rename from core/src/services/moka/lister.rs
rename to core/core/src/services/moka/lister.rs
diff --git a/core/src/services/moka/mod.rs b/core/core/src/services/moka/mod.rs
similarity index 100%
rename from core/src/services/moka/mod.rs
rename to core/core/src/services/moka/mod.rs
diff --git a/core/src/services/moka/writer.rs b/core/core/src/services/moka/writer.rs
similarity index 100%
rename from core/src/services/moka/writer.rs
rename to core/core/src/services/moka/writer.rs
diff --git a/core/src/services/mongodb/backend.rs b/core/core/src/services/mongodb/backend.rs
similarity index 100%
rename from core/src/services/mongodb/backend.rs
rename to core/core/src/services/mongodb/backend.rs
diff --git a/core/src/services/mongodb/config.rs b/core/core/src/services/mongodb/config.rs
similarity index 100%
rename from core/src/services/mongodb/config.rs
rename to core/core/src/services/mongodb/config.rs
diff --git a/core/src/services/mongodb/core.rs b/core/core/src/services/mongodb/core.rs
similarity index 100%
rename from core/src/services/mongodb/core.rs
rename to core/core/src/services/mongodb/core.rs
diff --git a/core/src/services/mongodb/deleter.rs b/core/core/src/services/mongodb/deleter.rs
similarity index 100%
rename from core/src/services/mongodb/deleter.rs
rename to core/core/src/services/mongodb/deleter.rs
diff --git a/core/src/services/mongodb/docs.md b/core/core/src/services/mongodb/docs.md
similarity index 100%
rename from core/src/services/mongodb/docs.md
rename to core/core/src/services/mongodb/docs.md
diff --git a/core/src/services/mongodb/mod.rs b/core/core/src/services/mongodb/mod.rs
similarity index 100%
rename from core/src/services/mongodb/mod.rs
rename to core/core/src/services/mongodb/mod.rs
diff --git a/core/src/services/mongodb/writer.rs b/core/core/src/services/mongodb/writer.rs
similarity index 100%
rename from core/src/services/mongodb/writer.rs
rename to core/core/src/services/mongodb/writer.rs
diff --git a/core/src/services/monoiofs/backend.rs b/core/core/src/services/monoiofs/backend.rs
similarity index 100%
rename from core/src/services/monoiofs/backend.rs
rename to core/core/src/services/monoiofs/backend.rs
diff --git a/core/src/services/monoiofs/config.rs b/core/core/src/services/monoiofs/config.rs
similarity index 100%
rename from core/src/services/monoiofs/config.rs
rename to core/core/src/services/monoiofs/config.rs
diff --git a/core/src/services/monoiofs/core.rs b/core/core/src/services/monoiofs/core.rs
similarity index 100%
rename from core/src/services/monoiofs/core.rs
rename to core/core/src/services/monoiofs/core.rs
diff --git a/core/src/services/monoiofs/deleter.rs b/core/core/src/services/monoiofs/deleter.rs
similarity index 100%
rename from core/src/services/monoiofs/deleter.rs
rename to core/core/src/services/monoiofs/deleter.rs
diff --git a/core/src/services/monoiofs/docs.md b/core/core/src/services/monoiofs/docs.md
similarity index 100%
rename from core/src/services/monoiofs/docs.md
rename to core/core/src/services/monoiofs/docs.md
diff --git a/core/src/services/monoiofs/mod.rs b/core/core/src/services/monoiofs/mod.rs
similarity index 100%
rename from core/src/services/monoiofs/mod.rs
rename to core/core/src/services/monoiofs/mod.rs
diff --git a/core/src/services/monoiofs/reader.rs b/core/core/src/services/monoiofs/reader.rs
similarity index 100%
rename from core/src/services/monoiofs/reader.rs
rename to core/core/src/services/monoiofs/reader.rs
diff --git a/core/src/services/monoiofs/writer.rs b/core/core/src/services/monoiofs/writer.rs
similarity index 100%
rename from core/src/services/monoiofs/writer.rs
rename to core/core/src/services/monoiofs/writer.rs
diff --git a/core/src/services/mysql/backend.rs b/core/core/src/services/mysql/backend.rs
similarity index 100%
rename from core/src/services/mysql/backend.rs
rename to core/core/src/services/mysql/backend.rs
diff --git a/core/src/services/mysql/config.rs b/core/core/src/services/mysql/config.rs
similarity index 100%
rename from core/src/services/mysql/config.rs
rename to core/core/src/services/mysql/config.rs
diff --git a/core/src/services/mysql/core.rs b/core/core/src/services/mysql/core.rs
similarity index 100%
rename from core/src/services/mysql/core.rs
rename to core/core/src/services/mysql/core.rs
diff --git a/core/src/services/mysql/deleter.rs b/core/core/src/services/mysql/deleter.rs
similarity index 100%
rename from core/src/services/mysql/deleter.rs
rename to core/core/src/services/mysql/deleter.rs
diff --git a/core/src/services/mysql/docs.md b/core/core/src/services/mysql/docs.md
similarity index 100%
rename from core/src/services/mysql/docs.md
rename to core/core/src/services/mysql/docs.md
diff --git a/core/src/services/mysql/mod.rs b/core/core/src/services/mysql/mod.rs
similarity index 100%
rename from core/src/services/mysql/mod.rs
rename to core/core/src/services/mysql/mod.rs
diff --git a/core/src/services/mysql/writer.rs b/core/core/src/services/mysql/writer.rs
similarity index 100%
rename from core/src/services/mysql/writer.rs
rename to core/core/src/services/mysql/writer.rs
diff --git a/core/src/services/obs/backend.rs b/core/core/src/services/obs/backend.rs
similarity index 100%
rename from core/src/services/obs/backend.rs
rename to core/core/src/services/obs/backend.rs
diff --git a/core/src/services/obs/config.rs b/core/core/src/services/obs/config.rs
similarity index 100%
rename from core/src/services/obs/config.rs
rename to core/core/src/services/obs/config.rs
diff --git a/core/src/services/obs/core.rs b/core/core/src/services/obs/core.rs
similarity index 100%
rename from core/src/services/obs/core.rs
rename to core/core/src/services/obs/core.rs
diff --git a/core/src/services/obs/deleter.rs b/core/core/src/services/obs/deleter.rs
similarity index 100%
rename from core/src/services/obs/deleter.rs
rename to core/core/src/services/obs/deleter.rs
diff --git a/core/src/services/obs/docs.md b/core/core/src/services/obs/docs.md
similarity index 100%
rename from core/src/services/obs/docs.md
rename to core/core/src/services/obs/docs.md
diff --git a/core/src/services/obs/error.rs b/core/core/src/services/obs/error.rs
similarity index 100%
rename from core/src/services/obs/error.rs
rename to core/core/src/services/obs/error.rs
diff --git a/core/src/services/obs/lister.rs b/core/core/src/services/obs/lister.rs
similarity index 100%
rename from core/src/services/obs/lister.rs
rename to core/core/src/services/obs/lister.rs
diff --git a/core/src/services/obs/mod.rs b/core/core/src/services/obs/mod.rs
similarity index 100%
rename from core/src/services/obs/mod.rs
rename to core/core/src/services/obs/mod.rs
diff --git a/core/src/services/obs/writer.rs b/core/core/src/services/obs/writer.rs
similarity index 100%
rename from core/src/services/obs/writer.rs
rename to core/core/src/services/obs/writer.rs
diff --git a/core/src/services/onedrive/backend.rs b/core/core/src/services/onedrive/backend.rs
similarity index 100%
rename from core/src/services/onedrive/backend.rs
rename to core/core/src/services/onedrive/backend.rs
diff --git a/core/src/services/onedrive/builder.rs b/core/core/src/services/onedrive/builder.rs
similarity index 100%
rename from core/src/services/onedrive/builder.rs
rename to core/core/src/services/onedrive/builder.rs
diff --git a/core/src/services/onedrive/config.rs b/core/core/src/services/onedrive/config.rs
similarity index 100%
rename from core/src/services/onedrive/config.rs
rename to core/core/src/services/onedrive/config.rs
diff --git a/core/src/services/onedrive/core.rs b/core/core/src/services/onedrive/core.rs
similarity index 100%
rename from core/src/services/onedrive/core.rs
rename to core/core/src/services/onedrive/core.rs
diff --git a/core/src/services/onedrive/deleter.rs b/core/core/src/services/onedrive/deleter.rs
similarity index 100%
rename from core/src/services/onedrive/deleter.rs
rename to core/core/src/services/onedrive/deleter.rs
diff --git a/core/src/services/onedrive/docs.md b/core/core/src/services/onedrive/docs.md
similarity index 100%
rename from core/src/services/onedrive/docs.md
rename to core/core/src/services/onedrive/docs.md
diff --git a/core/src/services/onedrive/error.rs b/core/core/src/services/onedrive/error.rs
similarity index 100%
rename from core/src/services/onedrive/error.rs
rename to core/core/src/services/onedrive/error.rs
diff --git a/core/src/services/onedrive/graph_model.rs b/core/core/src/services/onedrive/graph_model.rs
similarity index 100%
rename from core/src/services/onedrive/graph_model.rs
rename to core/core/src/services/onedrive/graph_model.rs
diff --git a/core/src/services/onedrive/lister.rs b/core/core/src/services/onedrive/lister.rs
similarity index 100%
rename from core/src/services/onedrive/lister.rs
rename to core/core/src/services/onedrive/lister.rs
diff --git a/core/src/services/onedrive/mod.rs b/core/core/src/services/onedrive/mod.rs
similarity index 100%
rename from core/src/services/onedrive/mod.rs
rename to core/core/src/services/onedrive/mod.rs
diff --git a/core/src/services/onedrive/writer.rs b/core/core/src/services/onedrive/writer.rs
similarity index 100%
rename from core/src/services/onedrive/writer.rs
rename to core/core/src/services/onedrive/writer.rs
diff --git a/core/src/services/opfs/backend.rs b/core/core/src/services/opfs/backend.rs
similarity index 100%
rename from core/src/services/opfs/backend.rs
rename to core/core/src/services/opfs/backend.rs
diff --git a/core/src/services/opfs/config.rs b/core/core/src/services/opfs/config.rs
similarity index 100%
rename from core/src/services/opfs/config.rs
rename to core/core/src/services/opfs/config.rs
diff --git a/core/src/services/opfs/core.rs b/core/core/src/services/opfs/core.rs
similarity index 100%
rename from core/src/services/opfs/core.rs
rename to core/core/src/services/opfs/core.rs
diff --git a/core/src/services/opfs/docs.md b/core/core/src/services/opfs/docs.md
similarity index 100%
rename from core/src/services/opfs/docs.md
rename to core/core/src/services/opfs/docs.md
diff --git a/core/src/services/opfs/error.rs b/core/core/src/services/opfs/error.rs
similarity index 100%
rename from core/src/services/opfs/error.rs
rename to core/core/src/services/opfs/error.rs
diff --git a/core/src/services/opfs/mod.rs b/core/core/src/services/opfs/mod.rs
similarity index 100%
rename from core/src/services/opfs/mod.rs
rename to core/core/src/services/opfs/mod.rs
diff --git a/core/src/services/opfs/utils.rs b/core/core/src/services/opfs/utils.rs
similarity index 100%
rename from core/src/services/opfs/utils.rs
rename to core/core/src/services/opfs/utils.rs
diff --git a/core/src/services/oss/backend.rs b/core/core/src/services/oss/backend.rs
similarity index 100%
rename from core/src/services/oss/backend.rs
rename to core/core/src/services/oss/backend.rs
diff --git a/core/src/services/oss/config.rs b/core/core/src/services/oss/config.rs
similarity index 100%
rename from core/src/services/oss/config.rs
rename to core/core/src/services/oss/config.rs
diff --git a/core/src/services/oss/core.rs b/core/core/src/services/oss/core.rs
similarity index 100%
rename from core/src/services/oss/core.rs
rename to core/core/src/services/oss/core.rs
diff --git a/core/src/services/oss/deleter.rs b/core/core/src/services/oss/deleter.rs
similarity index 100%
rename from core/src/services/oss/deleter.rs
rename to core/core/src/services/oss/deleter.rs
diff --git a/core/src/services/oss/docs.md b/core/core/src/services/oss/docs.md
similarity index 100%
rename from core/src/services/oss/docs.md
rename to core/core/src/services/oss/docs.md
diff --git a/core/src/services/oss/error.rs b/core/core/src/services/oss/error.rs
similarity index 100%
rename from core/src/services/oss/error.rs
rename to core/core/src/services/oss/error.rs
diff --git a/core/src/services/oss/lister.rs b/core/core/src/services/oss/lister.rs
similarity index 100%
rename from core/src/services/oss/lister.rs
rename to core/core/src/services/oss/lister.rs
diff --git a/core/src/services/oss/mod.rs b/core/core/src/services/oss/mod.rs
similarity index 100%
rename from core/src/services/oss/mod.rs
rename to core/core/src/services/oss/mod.rs
diff --git a/core/src/services/oss/writer.rs b/core/core/src/services/oss/writer.rs
similarity index 100%
rename from core/src/services/oss/writer.rs
rename to core/core/src/services/oss/writer.rs
diff --git a/core/src/services/pcloud/backend.rs b/core/core/src/services/pcloud/backend.rs
similarity index 100%
rename from core/src/services/pcloud/backend.rs
rename to core/core/src/services/pcloud/backend.rs
diff --git a/core/src/services/pcloud/config.rs b/core/core/src/services/pcloud/config.rs
similarity index 100%
rename from core/src/services/pcloud/config.rs
rename to core/core/src/services/pcloud/config.rs
diff --git a/core/src/services/pcloud/core.rs b/core/core/src/services/pcloud/core.rs
similarity index 100%
rename from core/src/services/pcloud/core.rs
rename to core/core/src/services/pcloud/core.rs
diff --git a/core/src/services/pcloud/deleter.rs b/core/core/src/services/pcloud/deleter.rs
similarity index 100%
rename from core/src/services/pcloud/deleter.rs
rename to core/core/src/services/pcloud/deleter.rs
diff --git a/core/src/services/pcloud/docs.md b/core/core/src/services/pcloud/docs.md
similarity index 100%
rename from core/src/services/pcloud/docs.md
rename to core/core/src/services/pcloud/docs.md
diff --git a/core/src/services/pcloud/error.rs b/core/core/src/services/pcloud/error.rs
similarity index 100%
rename from core/src/services/pcloud/error.rs
rename to core/core/src/services/pcloud/error.rs
diff --git a/core/src/services/pcloud/lister.rs b/core/core/src/services/pcloud/lister.rs
similarity index 100%
rename from core/src/services/pcloud/lister.rs
rename to core/core/src/services/pcloud/lister.rs
diff --git a/core/src/services/pcloud/mod.rs b/core/core/src/services/pcloud/mod.rs
similarity index 100%
rename from core/src/services/pcloud/mod.rs
rename to core/core/src/services/pcloud/mod.rs
diff --git a/core/src/services/pcloud/writer.rs b/core/core/src/services/pcloud/writer.rs
similarity index 100%
rename from core/src/services/pcloud/writer.rs
rename to core/core/src/services/pcloud/writer.rs
diff --git a/core/src/services/persy/backend.rs b/core/core/src/services/persy/backend.rs
similarity index 100%
rename from core/src/services/persy/backend.rs
rename to core/core/src/services/persy/backend.rs
diff --git a/core/src/services/persy/config.rs b/core/core/src/services/persy/config.rs
similarity index 100%
rename from core/src/services/persy/config.rs
rename to core/core/src/services/persy/config.rs
diff --git a/core/src/services/persy/core.rs b/core/core/src/services/persy/core.rs
similarity index 100%
rename from core/src/services/persy/core.rs
rename to core/core/src/services/persy/core.rs
diff --git a/core/src/services/persy/deleter.rs b/core/core/src/services/persy/deleter.rs
similarity index 100%
rename from core/src/services/persy/deleter.rs
rename to core/core/src/services/persy/deleter.rs
diff --git a/core/src/services/persy/docs.md b/core/core/src/services/persy/docs.md
similarity index 100%
rename from core/src/services/persy/docs.md
rename to core/core/src/services/persy/docs.md
diff --git a/core/src/services/persy/mod.rs b/core/core/src/services/persy/mod.rs
similarity index 100%
rename from core/src/services/persy/mod.rs
rename to core/core/src/services/persy/mod.rs
diff --git a/core/src/services/persy/writer.rs b/core/core/src/services/persy/writer.rs
similarity index 100%
rename from core/src/services/persy/writer.rs
rename to core/core/src/services/persy/writer.rs
diff --git a/core/src/services/postgresql/backend.rs b/core/core/src/services/postgresql/backend.rs
similarity index 100%
rename from core/src/services/postgresql/backend.rs
rename to core/core/src/services/postgresql/backend.rs
diff --git a/core/src/services/postgresql/config.rs b/core/core/src/services/postgresql/config.rs
similarity index 100%
rename from core/src/services/postgresql/config.rs
rename to core/core/src/services/postgresql/config.rs
diff --git a/core/src/services/postgresql/core.rs b/core/core/src/services/postgresql/core.rs
similarity index 100%
rename from core/src/services/postgresql/core.rs
rename to core/core/src/services/postgresql/core.rs
diff --git a/core/src/services/postgresql/deleter.rs b/core/core/src/services/postgresql/deleter.rs
similarity index 100%
rename from core/src/services/postgresql/deleter.rs
rename to core/core/src/services/postgresql/deleter.rs
diff --git a/core/src/services/postgresql/docs.md b/core/core/src/services/postgresql/docs.md
similarity index 100%
rename from core/src/services/postgresql/docs.md
rename to core/core/src/services/postgresql/docs.md
diff --git a/core/src/services/postgresql/mod.rs b/core/core/src/services/postgresql/mod.rs
similarity index 100%
rename from core/src/services/postgresql/mod.rs
rename to core/core/src/services/postgresql/mod.rs
diff --git a/core/src/services/postgresql/writer.rs b/core/core/src/services/postgresql/writer.rs
similarity index 100%
rename from core/src/services/postgresql/writer.rs
rename to core/core/src/services/postgresql/writer.rs
diff --git a/core/src/services/redb/backend.rs b/core/core/src/services/redb/backend.rs
similarity index 100%
rename from core/src/services/redb/backend.rs
rename to core/core/src/services/redb/backend.rs
diff --git a/core/src/services/redb/config.rs b/core/core/src/services/redb/config.rs
similarity index 100%
rename from core/src/services/redb/config.rs
rename to core/core/src/services/redb/config.rs
diff --git a/core/src/services/redb/core.rs b/core/core/src/services/redb/core.rs
similarity index 100%
rename from core/src/services/redb/core.rs
rename to core/core/src/services/redb/core.rs
diff --git a/core/src/services/redb/deleter.rs b/core/core/src/services/redb/deleter.rs
similarity index 100%
rename from core/src/services/redb/deleter.rs
rename to core/core/src/services/redb/deleter.rs
diff --git a/core/src/services/redb/docs.md b/core/core/src/services/redb/docs.md
similarity index 100%
rename from core/src/services/redb/docs.md
rename to core/core/src/services/redb/docs.md
diff --git a/core/src/services/redb/mod.rs b/core/core/src/services/redb/mod.rs
similarity index 100%
rename from core/src/services/redb/mod.rs
rename to core/core/src/services/redb/mod.rs
diff --git a/core/src/services/redb/writer.rs b/core/core/src/services/redb/writer.rs
similarity index 100%
rename from core/src/services/redb/writer.rs
rename to core/core/src/services/redb/writer.rs
diff --git a/core/src/services/redis/backend.rs b/core/core/src/services/redis/backend.rs
similarity index 100%
rename from core/src/services/redis/backend.rs
rename to core/core/src/services/redis/backend.rs
diff --git a/core/src/services/redis/config.rs b/core/core/src/services/redis/config.rs
similarity index 100%
rename from core/src/services/redis/config.rs
rename to core/core/src/services/redis/config.rs
diff --git a/core/src/services/redis/core.rs b/core/core/src/services/redis/core.rs
similarity index 100%
rename from core/src/services/redis/core.rs
rename to core/core/src/services/redis/core.rs
diff --git a/core/src/services/redis/delete.rs b/core/core/src/services/redis/delete.rs
similarity index 100%
rename from core/src/services/redis/delete.rs
rename to core/core/src/services/redis/delete.rs
diff --git a/core/src/services/redis/docs.md b/core/core/src/services/redis/docs.md
similarity index 100%
rename from core/src/services/redis/docs.md
rename to core/core/src/services/redis/docs.md
diff --git a/core/src/services/redis/mod.rs b/core/core/src/services/redis/mod.rs
similarity index 100%
rename from core/src/services/redis/mod.rs
rename to core/core/src/services/redis/mod.rs
diff --git a/core/src/services/redis/writer.rs b/core/core/src/services/redis/writer.rs
similarity index 100%
rename from core/src/services/redis/writer.rs
rename to core/core/src/services/redis/writer.rs
diff --git a/core/src/services/rocksdb/backend.rs b/core/core/src/services/rocksdb/backend.rs
similarity index 100%
rename from core/src/services/rocksdb/backend.rs
rename to core/core/src/services/rocksdb/backend.rs
diff --git a/core/src/services/rocksdb/config.rs b/core/core/src/services/rocksdb/config.rs
similarity index 100%
rename from core/src/services/rocksdb/config.rs
rename to core/core/src/services/rocksdb/config.rs
diff --git a/core/src/services/rocksdb/core.rs b/core/core/src/services/rocksdb/core.rs
similarity index 100%
rename from core/src/services/rocksdb/core.rs
rename to core/core/src/services/rocksdb/core.rs
diff --git a/core/src/services/rocksdb/deleter.rs b/core/core/src/services/rocksdb/deleter.rs
similarity index 100%
rename from core/src/services/rocksdb/deleter.rs
rename to core/core/src/services/rocksdb/deleter.rs
diff --git a/core/src/services/rocksdb/docs.md b/core/core/src/services/rocksdb/docs.md
similarity index 100%
rename from core/src/services/rocksdb/docs.md
rename to core/core/src/services/rocksdb/docs.md
diff --git a/core/src/services/rocksdb/lister.rs b/core/core/src/services/rocksdb/lister.rs
similarity index 100%
rename from core/src/services/rocksdb/lister.rs
rename to core/core/src/services/rocksdb/lister.rs
diff --git a/core/src/services/rocksdb/mod.rs b/core/core/src/services/rocksdb/mod.rs
similarity index 100%
rename from core/src/services/rocksdb/mod.rs
rename to core/core/src/services/rocksdb/mod.rs
diff --git a/core/src/services/rocksdb/writer.rs b/core/core/src/services/rocksdb/writer.rs
similarity index 100%
rename from core/src/services/rocksdb/writer.rs
rename to core/core/src/services/rocksdb/writer.rs
diff --git a/core/src/services/s3/backend.rs b/core/core/src/services/s3/backend.rs
similarity index 100%
rename from core/src/services/s3/backend.rs
rename to core/core/src/services/s3/backend.rs
diff --git a/core/src/services/s3/compatible_services.md b/core/core/src/services/s3/compatible_services.md
similarity index 100%
rename from core/src/services/s3/compatible_services.md
rename to core/core/src/services/s3/compatible_services.md
diff --git a/core/src/services/s3/config.rs b/core/core/src/services/s3/config.rs
similarity index 100%
rename from core/src/services/s3/config.rs
rename to core/core/src/services/s3/config.rs
diff --git a/core/src/services/s3/core.rs b/core/core/src/services/s3/core.rs
similarity index 100%
rename from core/src/services/s3/core.rs
rename to core/core/src/services/s3/core.rs
diff --git a/core/src/services/s3/deleter.rs b/core/core/src/services/s3/deleter.rs
similarity index 100%
rename from core/src/services/s3/deleter.rs
rename to core/core/src/services/s3/deleter.rs
diff --git a/core/src/services/s3/docs.md b/core/core/src/services/s3/docs.md
similarity index 100%
rename from core/src/services/s3/docs.md
rename to core/core/src/services/s3/docs.md
diff --git a/core/src/services/s3/error.rs b/core/core/src/services/s3/error.rs
similarity index 100%
rename from core/src/services/s3/error.rs
rename to core/core/src/services/s3/error.rs
diff --git a/core/src/services/s3/lister.rs b/core/core/src/services/s3/lister.rs
similarity index 100%
rename from core/src/services/s3/lister.rs
rename to core/core/src/services/s3/lister.rs
diff --git a/core/src/services/s3/mod.rs b/core/core/src/services/s3/mod.rs
similarity index 100%
rename from core/src/services/s3/mod.rs
rename to core/core/src/services/s3/mod.rs
diff --git a/core/src/services/s3/writer.rs b/core/core/src/services/s3/writer.rs
similarity index 100%
rename from core/src/services/s3/writer.rs
rename to core/core/src/services/s3/writer.rs
diff --git a/core/src/services/seafile/backend.rs b/core/core/src/services/seafile/backend.rs
similarity index 100%
rename from core/src/services/seafile/backend.rs
rename to core/core/src/services/seafile/backend.rs
diff --git a/core/src/services/seafile/config.rs b/core/core/src/services/seafile/config.rs
similarity index 100%
rename from core/src/services/seafile/config.rs
rename to core/core/src/services/seafile/config.rs
diff --git a/core/src/services/seafile/core.rs b/core/core/src/services/seafile/core.rs
similarity index 100%
rename from core/src/services/seafile/core.rs
rename to core/core/src/services/seafile/core.rs
diff --git a/core/src/services/seafile/deleter.rs b/core/core/src/services/seafile/deleter.rs
similarity index 100%
rename from core/src/services/seafile/deleter.rs
rename to core/core/src/services/seafile/deleter.rs
diff --git a/core/src/services/seafile/docs.md b/core/core/src/services/seafile/docs.md
similarity index 100%
rename from core/src/services/seafile/docs.md
rename to core/core/src/services/seafile/docs.md
diff --git a/core/src/services/seafile/error.rs b/core/core/src/services/seafile/error.rs
similarity index 100%
rename from core/src/services/seafile/error.rs
rename to core/core/src/services/seafile/error.rs
diff --git a/core/src/services/seafile/lister.rs b/core/core/src/services/seafile/lister.rs
similarity index 100%
rename from core/src/services/seafile/lister.rs
rename to core/core/src/services/seafile/lister.rs
diff --git a/core/src/services/seafile/mod.rs b/core/core/src/services/seafile/mod.rs
similarity index 100%
rename from core/src/services/seafile/mod.rs
rename to core/core/src/services/seafile/mod.rs
diff --git a/core/src/services/seafile/writer.rs b/core/core/src/services/seafile/writer.rs
similarity index 100%
rename from core/src/services/seafile/writer.rs
rename to core/core/src/services/seafile/writer.rs
diff --git a/core/src/services/sftp/backend.rs b/core/core/src/services/sftp/backend.rs
similarity index 100%
rename from core/src/services/sftp/backend.rs
rename to core/core/src/services/sftp/backend.rs
diff --git a/core/src/services/sftp/config.rs b/core/core/src/services/sftp/config.rs
similarity index 100%
rename from core/src/services/sftp/config.rs
rename to core/core/src/services/sftp/config.rs
diff --git a/core/src/services/sftp/core.rs b/core/core/src/services/sftp/core.rs
similarity index 100%
rename from core/src/services/sftp/core.rs
rename to core/core/src/services/sftp/core.rs
diff --git a/core/src/services/sftp/deleter.rs b/core/core/src/services/sftp/deleter.rs
similarity index 100%
rename from core/src/services/sftp/deleter.rs
rename to core/core/src/services/sftp/deleter.rs
diff --git a/core/src/services/sftp/docs.md b/core/core/src/services/sftp/docs.md
similarity index 100%
rename from core/src/services/sftp/docs.md
rename to core/core/src/services/sftp/docs.md
diff --git a/core/src/services/sftp/error.rs b/core/core/src/services/sftp/error.rs
similarity index 100%
rename from core/src/services/sftp/error.rs
rename to core/core/src/services/sftp/error.rs
diff --git a/core/src/services/sftp/lister.rs b/core/core/src/services/sftp/lister.rs
similarity index 100%
rename from core/src/services/sftp/lister.rs
rename to core/core/src/services/sftp/lister.rs
diff --git a/core/src/services/sftp/mod.rs b/core/core/src/services/sftp/mod.rs
similarity index 100%
rename from core/src/services/sftp/mod.rs
rename to core/core/src/services/sftp/mod.rs
diff --git a/core/src/services/sftp/reader.rs b/core/core/src/services/sftp/reader.rs
similarity index 100%
rename from core/src/services/sftp/reader.rs
rename to core/core/src/services/sftp/reader.rs
diff --git a/core/src/services/sftp/utils.rs b/core/core/src/services/sftp/utils.rs
similarity index 100%
rename from core/src/services/sftp/utils.rs
rename to core/core/src/services/sftp/utils.rs
diff --git a/core/src/services/sftp/writer.rs b/core/core/src/services/sftp/writer.rs
similarity index 100%
rename from core/src/services/sftp/writer.rs
rename to core/core/src/services/sftp/writer.rs
diff --git a/core/src/services/sled/backend.rs b/core/core/src/services/sled/backend.rs
similarity index 100%
rename from core/src/services/sled/backend.rs
rename to core/core/src/services/sled/backend.rs
diff --git a/core/src/services/sled/config.rs b/core/core/src/services/sled/config.rs
similarity index 100%
rename from core/src/services/sled/config.rs
rename to core/core/src/services/sled/config.rs
diff --git a/core/src/services/sled/core.rs b/core/core/src/services/sled/core.rs
similarity index 100%
rename from core/src/services/sled/core.rs
rename to core/core/src/services/sled/core.rs
diff --git a/core/src/services/sled/deleter.rs b/core/core/src/services/sled/deleter.rs
similarity index 100%
rename from core/src/services/sled/deleter.rs
rename to core/core/src/services/sled/deleter.rs
diff --git a/core/src/services/sled/docs.md b/core/core/src/services/sled/docs.md
similarity index 100%
rename from core/src/services/sled/docs.md
rename to core/core/src/services/sled/docs.md
diff --git a/core/src/services/sled/lister.rs b/core/core/src/services/sled/lister.rs
similarity index 100%
rename from core/src/services/sled/lister.rs
rename to core/core/src/services/sled/lister.rs
diff --git a/core/src/services/sled/mod.rs b/core/core/src/services/sled/mod.rs
similarity index 100%
rename from core/src/services/sled/mod.rs
rename to core/core/src/services/sled/mod.rs
diff --git a/core/src/services/sled/writer.rs b/core/core/src/services/sled/writer.rs
similarity index 100%
rename from core/src/services/sled/writer.rs
rename to core/core/src/services/sled/writer.rs
diff --git a/core/src/services/sqlite/backend.rs b/core/core/src/services/sqlite/backend.rs
similarity index 100%
rename from core/src/services/sqlite/backend.rs
rename to core/core/src/services/sqlite/backend.rs
diff --git a/core/src/services/sqlite/config.rs b/core/core/src/services/sqlite/config.rs
similarity index 100%
rename from core/src/services/sqlite/config.rs
rename to core/core/src/services/sqlite/config.rs
diff --git a/core/src/services/sqlite/core.rs b/core/core/src/services/sqlite/core.rs
similarity index 100%
rename from core/src/services/sqlite/core.rs
rename to core/core/src/services/sqlite/core.rs
diff --git a/core/src/services/sqlite/deleter.rs b/core/core/src/services/sqlite/deleter.rs
similarity index 100%
rename from core/src/services/sqlite/deleter.rs
rename to core/core/src/services/sqlite/deleter.rs
diff --git a/core/src/services/sqlite/docs.md b/core/core/src/services/sqlite/docs.md
similarity index 100%
rename from core/src/services/sqlite/docs.md
rename to core/core/src/services/sqlite/docs.md
diff --git a/core/src/services/sqlite/mod.rs b/core/core/src/services/sqlite/mod.rs
similarity index 100%
rename from core/src/services/sqlite/mod.rs
rename to core/core/src/services/sqlite/mod.rs
diff --git a/core/src/services/sqlite/writer.rs b/core/core/src/services/sqlite/writer.rs
similarity index 100%
rename from core/src/services/sqlite/writer.rs
rename to core/core/src/services/sqlite/writer.rs
diff --git a/core/src/services/surrealdb/backend.rs b/core/core/src/services/surrealdb/backend.rs
similarity index 100%
rename from core/src/services/surrealdb/backend.rs
rename to core/core/src/services/surrealdb/backend.rs
diff --git a/core/src/services/surrealdb/config.rs b/core/core/src/services/surrealdb/config.rs
similarity index 100%
rename from core/src/services/surrealdb/config.rs
rename to core/core/src/services/surrealdb/config.rs
diff --git a/core/src/services/surrealdb/core.rs b/core/core/src/services/surrealdb/core.rs
similarity index 100%
rename from core/src/services/surrealdb/core.rs
rename to core/core/src/services/surrealdb/core.rs
diff --git a/core/src/services/surrealdb/deleter.rs b/core/core/src/services/surrealdb/deleter.rs
similarity index 100%
rename from core/src/services/surrealdb/deleter.rs
rename to core/core/src/services/surrealdb/deleter.rs
diff --git a/core/src/services/surrealdb/docs.md b/core/core/src/services/surrealdb/docs.md
similarity index 100%
rename from core/src/services/surrealdb/docs.md
rename to core/core/src/services/surrealdb/docs.md
diff --git a/core/src/services/surrealdb/mod.rs b/core/core/src/services/surrealdb/mod.rs
similarity index 100%
rename from core/src/services/surrealdb/mod.rs
rename to core/core/src/services/surrealdb/mod.rs
diff --git a/core/src/services/surrealdb/writer.rs b/core/core/src/services/surrealdb/writer.rs
similarity index 100%
rename from core/src/services/surrealdb/writer.rs
rename to core/core/src/services/surrealdb/writer.rs
diff --git a/core/src/services/swift/backend.rs b/core/core/src/services/swift/backend.rs
similarity index 100%
rename from core/src/services/swift/backend.rs
rename to core/core/src/services/swift/backend.rs
diff --git a/core/src/services/swift/compatible_services.md b/core/core/src/services/swift/compatible_services.md
similarity index 100%
rename from core/src/services/swift/compatible_services.md
rename to core/core/src/services/swift/compatible_services.md
diff --git a/core/src/services/swift/config.rs b/core/core/src/services/swift/config.rs
similarity index 100%
rename from core/src/services/swift/config.rs
rename to core/core/src/services/swift/config.rs
diff --git a/core/src/services/swift/core.rs b/core/core/src/services/swift/core.rs
similarity index 100%
rename from core/src/services/swift/core.rs
rename to core/core/src/services/swift/core.rs
diff --git a/core/src/services/swift/deleter.rs b/core/core/src/services/swift/deleter.rs
similarity index 100%
rename from core/src/services/swift/deleter.rs
rename to core/core/src/services/swift/deleter.rs
diff --git a/core/src/services/swift/docs.md b/core/core/src/services/swift/docs.md
similarity index 100%
rename from core/src/services/swift/docs.md
rename to core/core/src/services/swift/docs.md
diff --git a/core/src/services/swift/error.rs b/core/core/src/services/swift/error.rs
similarity index 100%
rename from core/src/services/swift/error.rs
rename to core/core/src/services/swift/error.rs
diff --git a/core/src/services/swift/lister.rs b/core/core/src/services/swift/lister.rs
similarity index 100%
rename from core/src/services/swift/lister.rs
rename to core/core/src/services/swift/lister.rs
diff --git a/core/src/services/swift/mod.rs b/core/core/src/services/swift/mod.rs
similarity index 100%
rename from core/src/services/swift/mod.rs
rename to core/core/src/services/swift/mod.rs
diff --git a/core/src/services/swift/writer.rs b/core/core/src/services/swift/writer.rs
similarity index 100%
rename from core/src/services/swift/writer.rs
rename to core/core/src/services/swift/writer.rs
diff --git a/core/src/services/tikv/backend.rs b/core/core/src/services/tikv/backend.rs
similarity index 100%
rename from core/src/services/tikv/backend.rs
rename to core/core/src/services/tikv/backend.rs
diff --git a/core/src/services/tikv/config.rs b/core/core/src/services/tikv/config.rs
similarity index 100%
rename from core/src/services/tikv/config.rs
rename to core/core/src/services/tikv/config.rs
diff --git a/core/src/services/tikv/core.rs b/core/core/src/services/tikv/core.rs
similarity index 100%
rename from core/src/services/tikv/core.rs
rename to core/core/src/services/tikv/core.rs
diff --git a/core/src/services/tikv/deleter.rs b/core/core/src/services/tikv/deleter.rs
similarity index 100%
rename from core/src/services/tikv/deleter.rs
rename to core/core/src/services/tikv/deleter.rs
diff --git a/core/src/services/tikv/docs.md b/core/core/src/services/tikv/docs.md
similarity index 100%
rename from core/src/services/tikv/docs.md
rename to core/core/src/services/tikv/docs.md
diff --git a/core/src/services/tikv/mod.rs b/core/core/src/services/tikv/mod.rs
similarity index 100%
rename from core/src/services/tikv/mod.rs
rename to core/core/src/services/tikv/mod.rs
diff --git a/core/src/services/tikv/writer.rs b/core/core/src/services/tikv/writer.rs
similarity index 100%
rename from core/src/services/tikv/writer.rs
rename to core/core/src/services/tikv/writer.rs
diff --git a/core/src/services/upyun/backend.rs b/core/core/src/services/upyun/backend.rs
similarity index 100%
rename from core/src/services/upyun/backend.rs
rename to core/core/src/services/upyun/backend.rs
diff --git a/core/src/services/upyun/config.rs b/core/core/src/services/upyun/config.rs
similarity index 100%
rename from core/src/services/upyun/config.rs
rename to core/core/src/services/upyun/config.rs
diff --git a/core/src/services/upyun/core.rs b/core/core/src/services/upyun/core.rs
similarity index 100%
rename from core/src/services/upyun/core.rs
rename to core/core/src/services/upyun/core.rs
diff --git a/core/src/services/upyun/deleter.rs b/core/core/src/services/upyun/deleter.rs
similarity index 100%
rename from core/src/services/upyun/deleter.rs
rename to core/core/src/services/upyun/deleter.rs
diff --git a/core/src/services/upyun/docs.md b/core/core/src/services/upyun/docs.md
similarity index 100%
rename from core/src/services/upyun/docs.md
rename to core/core/src/services/upyun/docs.md
diff --git a/core/src/services/upyun/error.rs b/core/core/src/services/upyun/error.rs
similarity index 100%
rename from core/src/services/upyun/error.rs
rename to core/core/src/services/upyun/error.rs
diff --git a/core/src/services/upyun/lister.rs b/core/core/src/services/upyun/lister.rs
similarity index 100%
rename from core/src/services/upyun/lister.rs
rename to core/core/src/services/upyun/lister.rs
diff --git a/core/src/services/upyun/mod.rs b/core/core/src/services/upyun/mod.rs
similarity index 100%
rename from core/src/services/upyun/mod.rs
rename to core/core/src/services/upyun/mod.rs
diff --git a/core/src/services/upyun/writer.rs b/core/core/src/services/upyun/writer.rs
similarity index 100%
rename from core/src/services/upyun/writer.rs
rename to core/core/src/services/upyun/writer.rs
diff --git a/core/src/services/vercel_artifacts/backend.rs b/core/core/src/services/vercel_artifacts/backend.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/backend.rs
rename to core/core/src/services/vercel_artifacts/backend.rs
diff --git a/core/src/services/vercel_artifacts/builder.rs b/core/core/src/services/vercel_artifacts/builder.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/builder.rs
rename to core/core/src/services/vercel_artifacts/builder.rs
diff --git a/core/src/services/vercel_artifacts/config.rs b/core/core/src/services/vercel_artifacts/config.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/config.rs
rename to core/core/src/services/vercel_artifacts/config.rs
diff --git a/core/src/services/vercel_artifacts/core.rs b/core/core/src/services/vercel_artifacts/core.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/core.rs
rename to core/core/src/services/vercel_artifacts/core.rs
diff --git a/core/src/services/vercel_artifacts/docs.md b/core/core/src/services/vercel_artifacts/docs.md
similarity index 100%
rename from core/src/services/vercel_artifacts/docs.md
rename to core/core/src/services/vercel_artifacts/docs.md
diff --git a/core/src/services/vercel_artifacts/error.rs b/core/core/src/services/vercel_artifacts/error.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/error.rs
rename to core/core/src/services/vercel_artifacts/error.rs
diff --git a/core/src/services/vercel_artifacts/mod.rs b/core/core/src/services/vercel_artifacts/mod.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/mod.rs
rename to core/core/src/services/vercel_artifacts/mod.rs
diff --git a/core/src/services/vercel_artifacts/writer.rs b/core/core/src/services/vercel_artifacts/writer.rs
similarity index 100%
rename from core/src/services/vercel_artifacts/writer.rs
rename to core/core/src/services/vercel_artifacts/writer.rs
diff --git a/core/src/services/vercel_blob/backend.rs b/core/core/src/services/vercel_blob/backend.rs
similarity index 100%
rename from core/src/services/vercel_blob/backend.rs
rename to core/core/src/services/vercel_blob/backend.rs
diff --git a/core/src/services/vercel_blob/config.rs b/core/core/src/services/vercel_blob/config.rs
similarity index 100%
rename from core/src/services/vercel_blob/config.rs
rename to core/core/src/services/vercel_blob/config.rs
diff --git a/core/src/services/vercel_blob/core.rs b/core/core/src/services/vercel_blob/core.rs
similarity index 100%
rename from core/src/services/vercel_blob/core.rs
rename to core/core/src/services/vercel_blob/core.rs
diff --git a/core/src/services/vercel_blob/deleter.rs b/core/core/src/services/vercel_blob/deleter.rs
similarity index 100%
rename from core/src/services/vercel_blob/deleter.rs
rename to core/core/src/services/vercel_blob/deleter.rs
diff --git a/core/src/services/vercel_blob/docs.md b/core/core/src/services/vercel_blob/docs.md
similarity index 100%
rename from core/src/services/vercel_blob/docs.md
rename to core/core/src/services/vercel_blob/docs.md
diff --git a/core/src/services/vercel_blob/error.rs b/core/core/src/services/vercel_blob/error.rs
similarity index 100%
rename from core/src/services/vercel_blob/error.rs
rename to core/core/src/services/vercel_blob/error.rs
diff --git a/core/src/services/vercel_blob/lister.rs b/core/core/src/services/vercel_blob/lister.rs
similarity index 100%
rename from core/src/services/vercel_blob/lister.rs
rename to core/core/src/services/vercel_blob/lister.rs
diff --git a/core/src/services/vercel_blob/mod.rs b/core/core/src/services/vercel_blob/mod.rs
similarity index 100%
rename from core/src/services/vercel_blob/mod.rs
rename to core/core/src/services/vercel_blob/mod.rs
diff --git a/core/src/services/vercel_blob/writer.rs b/core/core/src/services/vercel_blob/writer.rs
similarity index 100%
rename from core/src/services/vercel_blob/writer.rs
rename to core/core/src/services/vercel_blob/writer.rs
diff --git a/core/src/services/webdav/backend.rs b/core/core/src/services/webdav/backend.rs
similarity index 100%
rename from core/src/services/webdav/backend.rs
rename to core/core/src/services/webdav/backend.rs
diff --git a/core/src/services/webdav/config.rs b/core/core/src/services/webdav/config.rs
similarity index 100%
rename from core/src/services/webdav/config.rs
rename to core/core/src/services/webdav/config.rs
diff --git a/core/src/services/webdav/core.rs b/core/core/src/services/webdav/core.rs
similarity index 100%
rename from core/src/services/webdav/core.rs
rename to core/core/src/services/webdav/core.rs
diff --git a/core/src/services/webdav/deleter.rs b/core/core/src/services/webdav/deleter.rs
similarity index 100%
rename from core/src/services/webdav/deleter.rs
rename to core/core/src/services/webdav/deleter.rs
diff --git a/core/src/services/webdav/docs.md b/core/core/src/services/webdav/docs.md
similarity index 100%
rename from core/src/services/webdav/docs.md
rename to core/core/src/services/webdav/docs.md
diff --git a/core/src/services/webdav/error.rs b/core/core/src/services/webdav/error.rs
similarity index 100%
rename from core/src/services/webdav/error.rs
rename to core/core/src/services/webdav/error.rs
diff --git a/core/src/services/webdav/lister.rs b/core/core/src/services/webdav/lister.rs
similarity index 100%
rename from core/src/services/webdav/lister.rs
rename to core/core/src/services/webdav/lister.rs
diff --git a/core/src/services/webdav/mod.rs b/core/core/src/services/webdav/mod.rs
similarity index 100%
rename from core/src/services/webdav/mod.rs
rename to core/core/src/services/webdav/mod.rs
diff --git a/core/src/services/webdav/writer.rs b/core/core/src/services/webdav/writer.rs
similarity index 100%
rename from core/src/services/webdav/writer.rs
rename to core/core/src/services/webdav/writer.rs
diff --git a/core/src/services/webhdfs/backend.rs b/core/core/src/services/webhdfs/backend.rs
similarity index 100%
rename from core/src/services/webhdfs/backend.rs
rename to core/core/src/services/webhdfs/backend.rs
diff --git a/core/src/services/webhdfs/config.rs b/core/core/src/services/webhdfs/config.rs
similarity index 100%
rename from core/src/services/webhdfs/config.rs
rename to core/core/src/services/webhdfs/config.rs
diff --git a/core/src/services/webhdfs/core.rs b/core/core/src/services/webhdfs/core.rs
similarity index 100%
rename from core/src/services/webhdfs/core.rs
rename to core/core/src/services/webhdfs/core.rs
diff --git a/core/src/services/webhdfs/deleter.rs b/core/core/src/services/webhdfs/deleter.rs
similarity index 100%
rename from core/src/services/webhdfs/deleter.rs
rename to core/core/src/services/webhdfs/deleter.rs
diff --git a/core/src/services/webhdfs/docs.md b/core/core/src/services/webhdfs/docs.md
similarity index 100%
rename from core/src/services/webhdfs/docs.md
rename to core/core/src/services/webhdfs/docs.md
diff --git a/core/src/services/webhdfs/error.rs b/core/core/src/services/webhdfs/error.rs
similarity index 100%
rename from core/src/services/webhdfs/error.rs
rename to core/core/src/services/webhdfs/error.rs
diff --git a/core/src/services/webhdfs/lister.rs b/core/core/src/services/webhdfs/lister.rs
similarity index 100%
rename from core/src/services/webhdfs/lister.rs
rename to core/core/src/services/webhdfs/lister.rs
diff --git a/core/src/services/webhdfs/message.rs b/core/core/src/services/webhdfs/message.rs
similarity index 100%
rename from core/src/services/webhdfs/message.rs
rename to core/core/src/services/webhdfs/message.rs
diff --git a/core/src/services/webhdfs/mod.rs b/core/core/src/services/webhdfs/mod.rs
similarity index 100%
rename from core/src/services/webhdfs/mod.rs
rename to core/core/src/services/webhdfs/mod.rs
diff --git a/core/src/services/webhdfs/writer.rs b/core/core/src/services/webhdfs/writer.rs
similarity index 100%
rename from core/src/services/webhdfs/writer.rs
rename to core/core/src/services/webhdfs/writer.rs
diff --git a/core/src/services/yandex_disk/backend.rs b/core/core/src/services/yandex_disk/backend.rs
similarity index 100%
rename from core/src/services/yandex_disk/backend.rs
rename to core/core/src/services/yandex_disk/backend.rs
diff --git a/core/src/services/yandex_disk/config.rs b/core/core/src/services/yandex_disk/config.rs
similarity index 100%
rename from core/src/services/yandex_disk/config.rs
rename to core/core/src/services/yandex_disk/config.rs
diff --git a/core/src/services/yandex_disk/core.rs b/core/core/src/services/yandex_disk/core.rs
similarity index 100%
rename from core/src/services/yandex_disk/core.rs
rename to core/core/src/services/yandex_disk/core.rs
diff --git a/core/src/services/yandex_disk/deleter.rs b/core/core/src/services/yandex_disk/deleter.rs
similarity index 100%
rename from core/src/services/yandex_disk/deleter.rs
rename to core/core/src/services/yandex_disk/deleter.rs
diff --git a/core/src/services/yandex_disk/docs.md b/core/core/src/services/yandex_disk/docs.md
similarity index 100%
rename from core/src/services/yandex_disk/docs.md
rename to core/core/src/services/yandex_disk/docs.md
diff --git a/core/src/services/yandex_disk/error.rs b/core/core/src/services/yandex_disk/error.rs
similarity index 100%
rename from core/src/services/yandex_disk/error.rs
rename to core/core/src/services/yandex_disk/error.rs
diff --git a/core/src/services/yandex_disk/lister.rs b/core/core/src/services/yandex_disk/lister.rs
similarity index 100%
rename from core/src/services/yandex_disk/lister.rs
rename to core/core/src/services/yandex_disk/lister.rs
diff --git a/core/src/services/yandex_disk/mod.rs b/core/core/src/services/yandex_disk/mod.rs
similarity index 100%
rename from core/src/services/yandex_disk/mod.rs
rename to core/core/src/services/yandex_disk/mod.rs
diff --git a/core/src/services/yandex_disk/writer.rs b/core/core/src/services/yandex_disk/writer.rs
similarity index 100%
rename from core/src/services/yandex_disk/writer.rs
rename to core/core/src/services/yandex_disk/writer.rs
diff --git a/core/src/types/buffer.rs b/core/core/src/types/buffer.rs
similarity index 100%
rename from core/src/types/buffer.rs
rename to core/core/src/types/buffer.rs
diff --git a/core/src/types/builder.rs b/core/core/src/types/builder.rs
similarity index 100%
rename from core/src/types/builder.rs
rename to core/core/src/types/builder.rs
diff --git a/core/src/types/capability.rs b/core/core/src/types/capability.rs
similarity index 100%
rename from core/src/types/capability.rs
rename to core/core/src/types/capability.rs
diff --git a/core/src/types/context/mod.rs b/core/core/src/types/context/mod.rs
similarity index 100%
rename from core/src/types/context/mod.rs
rename to core/core/src/types/context/mod.rs
diff --git a/core/src/types/context/read.rs b/core/core/src/types/context/read.rs
similarity index 100%
rename from core/src/types/context/read.rs
rename to core/core/src/types/context/read.rs
diff --git a/core/src/types/context/write.rs b/core/core/src/types/context/write.rs
similarity index 100%
rename from core/src/types/context/write.rs
rename to core/core/src/types/context/write.rs
diff --git a/core/src/types/delete/deleter.rs b/core/core/src/types/delete/deleter.rs
similarity index 100%
rename from core/src/types/delete/deleter.rs
rename to core/core/src/types/delete/deleter.rs
diff --git a/core/src/types/delete/futures_delete_sink.rs b/core/core/src/types/delete/futures_delete_sink.rs
similarity index 100%
rename from core/src/types/delete/futures_delete_sink.rs
rename to core/core/src/types/delete/futures_delete_sink.rs
diff --git a/core/src/types/delete/input.rs b/core/core/src/types/delete/input.rs
similarity index 100%
rename from core/src/types/delete/input.rs
rename to core/core/src/types/delete/input.rs
diff --git a/core/src/types/delete/mod.rs b/core/core/src/types/delete/mod.rs
similarity index 100%
rename from core/src/types/delete/mod.rs
rename to core/core/src/types/delete/mod.rs
diff --git a/core/src/types/entry.rs b/core/core/src/types/entry.rs
similarity index 100%
rename from core/src/types/entry.rs
rename to core/core/src/types/entry.rs
diff --git a/core/src/types/error.rs b/core/core/src/types/error.rs
similarity index 100%
rename from core/src/types/error.rs
rename to core/core/src/types/error.rs
diff --git a/core/src/types/execute/api.rs b/core/core/src/types/execute/api.rs
similarity index 100%
rename from core/src/types/execute/api.rs
rename to core/core/src/types/execute/api.rs
diff --git a/core/src/types/execute/executor.rs b/core/core/src/types/execute/executor.rs
similarity index 100%
rename from core/src/types/execute/executor.rs
rename to core/core/src/types/execute/executor.rs
diff --git a/core/src/types/execute/executors/mod.rs b/core/core/src/types/execute/executors/mod.rs
similarity index 100%
rename from core/src/types/execute/executors/mod.rs
rename to core/core/src/types/execute/executors/mod.rs
diff --git a/core/src/types/execute/executors/tokio_executor.rs b/core/core/src/types/execute/executors/tokio_executor.rs
similarity index 100%
rename from core/src/types/execute/executors/tokio_executor.rs
rename to core/core/src/types/execute/executors/tokio_executor.rs
diff --git a/core/src/types/execute/mod.rs b/core/core/src/types/execute/mod.rs
similarity index 100%
rename from core/src/types/execute/mod.rs
rename to core/core/src/types/execute/mod.rs
diff --git a/core/src/types/list.rs b/core/core/src/types/list.rs
similarity index 100%
rename from core/src/types/list.rs
rename to core/core/src/types/list.rs
diff --git a/core/src/types/metadata.rs b/core/core/src/types/metadata.rs
similarity index 100%
rename from core/src/types/metadata.rs
rename to core/core/src/types/metadata.rs
diff --git a/core/src/types/mod.rs b/core/core/src/types/mod.rs
similarity index 100%
rename from core/src/types/mod.rs
rename to core/core/src/types/mod.rs
diff --git a/core/src/types/mode.rs b/core/core/src/types/mode.rs
similarity index 100%
rename from core/src/types/mode.rs
rename to core/core/src/types/mode.rs
diff --git a/core/src/types/operator/builder.rs b/core/core/src/types/operator/builder.rs
similarity index 100%
rename from core/src/types/operator/builder.rs
rename to core/core/src/types/operator/builder.rs
diff --git a/core/src/types/operator/info.rs b/core/core/src/types/operator/info.rs
similarity index 100%
rename from core/src/types/operator/info.rs
rename to core/core/src/types/operator/info.rs
diff --git a/core/src/types/operator/mod.rs b/core/core/src/types/operator/mod.rs
similarity index 100%
rename from core/src/types/operator/mod.rs
rename to core/core/src/types/operator/mod.rs
diff --git a/core/src/types/operator/operator.rs b/core/core/src/types/operator/operator.rs
similarity index 100%
rename from core/src/types/operator/operator.rs
rename to core/core/src/types/operator/operator.rs
diff --git a/core/src/types/operator/operator_futures.rs b/core/core/src/types/operator/operator_futures.rs
similarity index 100%
rename from core/src/types/operator/operator_futures.rs
rename to core/core/src/types/operator/operator_futures.rs
diff --git a/core/src/types/operator/registry.rs b/core/core/src/types/operator/registry.rs
similarity index 100%
rename from core/src/types/operator/registry.rs
rename to core/core/src/types/operator/registry.rs
diff --git a/core/src/types/operator/uri.rs b/core/core/src/types/operator/uri.rs
similarity index 100%
rename from core/src/types/operator/uri.rs
rename to core/core/src/types/operator/uri.rs
diff --git a/core/src/types/options.rs b/core/core/src/types/options.rs
similarity index 100%
rename from core/src/types/options.rs
rename to core/core/src/types/options.rs
diff --git a/core/src/types/read/buffer_stream.rs b/core/core/src/types/read/buffer_stream.rs
similarity index 100%
rename from core/src/types/read/buffer_stream.rs
rename to core/core/src/types/read/buffer_stream.rs
diff --git a/core/src/types/read/futures_async_reader.rs b/core/core/src/types/read/futures_async_reader.rs
similarity index 100%
rename from core/src/types/read/futures_async_reader.rs
rename to core/core/src/types/read/futures_async_reader.rs
diff --git a/core/src/types/read/futures_bytes_stream.rs b/core/core/src/types/read/futures_bytes_stream.rs
similarity index 100%
rename from core/src/types/read/futures_bytes_stream.rs
rename to core/core/src/types/read/futures_bytes_stream.rs
diff --git a/core/src/types/read/mod.rs b/core/core/src/types/read/mod.rs
similarity index 100%
rename from core/src/types/read/mod.rs
rename to core/core/src/types/read/mod.rs
diff --git a/core/src/types/read/reader.rs b/core/core/src/types/read/reader.rs
similarity index 100%
rename from core/src/types/read/reader.rs
rename to core/core/src/types/read/reader.rs
diff --git a/core/src/types/scheme.rs b/core/core/src/types/scheme.rs
similarity index 100%
rename from core/src/types/scheme.rs
rename to core/core/src/types/scheme.rs
diff --git a/core/src/types/write/buffer_sink.rs b/core/core/src/types/write/buffer_sink.rs
similarity index 100%
rename from core/src/types/write/buffer_sink.rs
rename to core/core/src/types/write/buffer_sink.rs
diff --git a/core/src/types/write/futures_async_writer.rs b/core/core/src/types/write/futures_async_writer.rs
similarity index 100%
rename from core/src/types/write/futures_async_writer.rs
rename to core/core/src/types/write/futures_async_writer.rs
diff --git a/core/src/types/write/futures_bytes_sink.rs b/core/core/src/types/write/futures_bytes_sink.rs
similarity index 100%
rename from core/src/types/write/futures_bytes_sink.rs
rename to core/core/src/types/write/futures_bytes_sink.rs
diff --git a/core/src/types/write/mod.rs b/core/core/src/types/write/mod.rs
similarity index 100%
rename from core/src/types/write/mod.rs
rename to core/core/src/types/write/mod.rs
diff --git a/core/src/types/write/writer.rs b/core/core/src/types/write/writer.rs
similarity index 100%
rename from core/src/types/write/writer.rs
rename to core/core/src/types/write/writer.rs
diff --git a/core/src/lib.rs b/core/src/lib.rs
index 89177dbbb..381539fb8 100644
--- a/core/src/lib.rs
+++ b/core/src/lib.rs
@@ -19,184 +19,7 @@
html_logo_url = "https://raw.githubusercontent.com/apache/opendal/main/website/static/img/logo.svg"
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
-//! Apache OpenDALâ„¢ is an Open Data Access Layer that enables seamless interaction with diverse storage services.
-//!
-//! OpenDAL's development is guided by its vision of **One Layer, All Storage** and its core principles: **Open Community**, **Solid Foundation**, **Fast Access**, **Object Storage First**, and **Extensible Architecture**. Read the explained vision at [OpenDAL Vision](https://opendal.apache.org/vision).
-//!
-//! # Quick Start
-//!
-//! OpenDAL's API entry points are [`Operator`] and [`blocking::Operator`]. All
-//! public APIs are accessible through the operator. To utilize OpenDAL, you
-//! need to:
-//!
-//! - [Init a service](#init-a-service)
-//! - [Compose layers](#compose-layers)
-//! - [Use operator](#use-operator)
-//!
-//! ## Init a service
-//!
-//! The first step is to pick a service and init it with a builder. All supported
-//! services could be found at [`services`].
-//!
-//! Let's take [`services::S3`] as an example:
-//!
-//! ```no_run
-//! use opendal::services;
-//! use opendal::Operator;
-//! use opendal::Result;
-//!
-//! fn main() -> Result<()> {
-//! // Pick a builder and configure it.
-//! let mut builder = services::S3::default().bucket("test");
-//!
-//! // Init an operator
-//! let op = Operator::new(builder)?.finish();
-//! Ok(())
-//! }
-//! ```
-//!
-//! ## Compose layers
-//!
-//! The next setup is to compose layers. Layers are modules that provide extra
-//! features for every operation. All builtin layers could be found at [`layers`].
-//!
-//! Let's use [`layers::LoggingLayer`] as an example; this layer adds logging to
-//! every operation that OpenDAL performs.
-//!
-//! ```no_run
-//! use opendal::layers::LoggingLayer;
-//! use opendal::services;
-//! use opendal::Operator;
-//! use opendal::Result;
-//!
-//! #[tokio::main]
-//! async fn main() -> Result<()> {
-//! // Pick a builder and configure it.
-//! let mut builder = services::S3::default().bucket("test");
-//!
-//! // Init an operator
-//! let op = Operator::new(builder)?
-//! // Init with logging layer enabled.
-//! .layer(LoggingLayer::default())
-//! .finish();
-//!
-//! Ok(())
-//! }
-//! ```
-//!
-//! ## Use operator
-//!
-//! The final step is to use the operator. OpenDAL supports both async [`Operator`]
-//! and blocking [`blocking::Operator`]. Please pick the one that fits your use case.
-//!
-//! Every Operator API follows a consistent pattern. For example, consider the `read` operation:
-//!
-//! - [`Operator::read`]: Executes a read operation.
-//! - [`Operator::read_with`]: Executes a read operation with additional options using the builder pattern.
-//! - [`Operator::read_options`]: Executes a read operation with extra options provided via a [`options::ReadOptions`] struct.
-//! - [`Operator::reader`]: Creates a reader for streaming data, allowing for flexible access.
-//! - [`Operator::reader_with`]: Creates a reader with advanced options using the builder pattern.
-//! - [`Operator::reader_options`]: Creates a reader with extra options provided via a [`options::ReadOptions`] struct.
-//!
-//! The [`Reader`] created by [`Operator`] supports custom read control methods and can be converted
-//! into [`futures::AsyncRead`] or [`futures::Stream`] for broader ecosystem compatibility.
-//!
-//! ```no_run
-//! use opendal::layers::LoggingLayer;
-//! use opendal::options;
-//! use opendal::services;
-//! use opendal::Operator;
-//! use opendal::Result;
-//!
-//! #[tokio::main]
-//! async fn main() -> Result<()> {
-//! // Pick a builder and configure it.
-//! let mut builder = services::S3::default().bucket("test");
-//!
-//! // Init an operator
-//! let op = Operator::new(builder)?
-//! // Init with logging layer enabled.
-//! .layer(LoggingLayer::default())
-//! .finish();
-//!
-//! // Fetch this file's metadata
-//! let meta = op.stat("hello.txt").await?;
-//! let length = meta.content_length();
-//!
-//! // Read data from `hello.txt` with options.
-//! let bs = op
-//! .read_with("hello.txt")
-//! .range(0..8 * 1024 * 1024)
-//! .chunk(1024 * 1024)
-//! .concurrent(4)
-//! .await?;
-//!
-//! // The same to:
-//! let bs = op
-//! .read_options("hello.txt", options::ReadOptions {
-//! range: (0..8 * 1024 * 1024).into(),
-//! chunk: Some(1024 * 1024),
-//! concurrent: 4,
-//! ..Default::default()
-//! })
-//! .await?;
-//!
-//! Ok(())
-//! }
-//! ```
-//!
-//! # Useful Links
-//!
-//! - [Concept][crate::docs::concepts]
-//! - [Internals][crate::docs::internals]
-//! - [Performance Guide][crate::docs::performance]
-
-// Make sure all our public APIs have docs.
+//! Facade crate that re-exports all public APIs from `opendal-core`.
#![deny(missing_docs)]
-// Private module with public types, they will be accessed via `opendal::Xxxx`
-mod types;
-pub use types::*;
-
-// Public modules, they will be accessed like `opendal::layers::Xxxx`
-#[cfg(feature = "blocking")]
-pub mod blocking;
-#[cfg(docsrs)]
-pub mod docs;
-pub mod layers;
-pub mod raw;
-pub mod services;
-
-#[cfg(test)]
-mod tests {
- use std::mem::size_of;
-
- use super::*;
- /// This is not a real test case.
- ///
- /// We assert our public structs here to make sure we don't introduce
- /// unexpected struct/enum size change.
- #[cfg(target_pointer_width = "64")]
- #[test]
- fn assert_size() {
- assert_eq!(16, size_of::<Operator>());
- assert_eq!(360, size_of::<Entry>());
- assert_eq!(336, size_of::<Metadata>());
- assert_eq!(1, size_of::<EntryMode>());
- }
-
- trait AssertSendSync: Send + Sync {}
- impl AssertSendSync for Entry {}
- impl AssertSendSync for Capability {}
- impl AssertSendSync for Error {}
- impl AssertSendSync for Reader {}
- impl AssertSendSync for Writer {}
- impl AssertSendSync for Lister {}
- impl AssertSendSync for Operator {}
-
- /// This is used to make sure our public API implement Send + Sync
- #[test]
- fn test_trait() {
- let _: Box<dyn AssertSendSync> = Box::new(Capability::default());
- }
-}
+pub use opendal_core::*;
diff --git a/core/upgrade.md b/core/upgrade.md
index f2d33947d..084c9d181 120000
--- a/core/upgrade.md
+++ b/core/upgrade.md
@@ -1 +1 @@
-./src/docs/upgrade.md
\ No newline at end of file
+core/src/docs/upgrade.md
\ No newline at end of file