goosefs-sdk 0.2.2

Goosefs Rust gRPC Client - Direct gRPC client for Goosefs Master/Worker
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "goosefs-sdk"
version = "0.2.2"
authors = ["Goosefs Team"]
build = "build.rs"
exclude = [
    ".idea/*",
    ".codebuddy/*",
    ".DS_Store",
    "**/.DS_Store",
    "docs/CLIENT_PAGE_CACHE_DESIGN.md",
    "docs/GOOSEFS_LANCE_GRPC_DESIGN.md",
    "docs/release/*",
    "target/*",
    "website/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Goosefs Rust gRPC Client - Direct gRPC client for Goosefs Master/Worker"
homepage = "https://tencent.github.io/tencent-goosefs-rust-sdk/"
documentation = "https://tencent.github.io/tencent-goosefs-rust-sdk/"
readme = "README.md"
keywords = [
    "goosefs",
    "grpc",
    "storage",
    "filesystem",
    "cache",
]
categories = [
    "network-programming",
    "filesystem",
]
license = "Apache-2.0"
repository = "https://github.com/Tencent/tencent-goosefs-rust-sdk"

[features]
default = []
full-client = [
    "metadata-cache",
    "metrics-pushgateway",
    "page-cache-io-uring",
]
metadata-cache = ["dep:lru"]
metrics-pushgateway = ["dep:reqwest"]
page-cache = [
    "dep:foyer-common",
    "dep:foyer-memory",
    "tokio/fs",
]
page-cache-io-uring = [
    "page-cache",
    "dep:io-uring",
    "dep:libc",
]
regen-proto = ["dep:tonic-prost-build"]

[lib]
name = "goosefs_sdk"
path = "src/lib.rs"

[[example]]
name = "async_persistence"
path = "examples/async_persistence.rs"

[[example]]
name = "async_read_trait"
path = "examples/async_read_trait.rs"

[[example]]
name = "auth_demo"
path = "examples/auth_demo.rs"

[[example]]
name = "cache_evictor_bench"
path = "benchmarks/cache_evictor_bench.rs"
required-features = ["page-cache"]

[[example]]
name = "cache_uring_bench"
path = "benchmarks/cache_uring_bench.rs"
required-features = ["page-cache-io-uring"]

[[example]]
name = "context_file_rw"
path = "examples/context_file_rw.rs"

[[example]]
name = "ha_multi_master"
path = "examples/ha_multi_master.rs"

[[example]]
name = "highlevel_file_rw"
path = "examples/highlevel_file_rw.rs"

[[example]]
name = "lowlevel_block_read"
path = "examples/lowlevel_block_read.rs"

[[example]]
name = "lowlevel_create_file"
path = "examples/lowlevel_create_file.rs"

[[example]]
name = "metadata_crud"
path = "examples/metadata_crud.rs"

[[example]]
name = "metrics_heartbeat"
path = "examples/metrics_heartbeat.rs"

[[example]]
name = "metrics_pushgateway"
path = "examples/metrics_pushgateway.rs"
required-features = ["metrics-pushgateway"]

[[example]]
name = "page_cache_demo"
path = "examples/page_cache_demo.rs"
required-features = ["page-cache"]

[[example]]
name = "partv_perf_verify"
path = "benchmarks/partv_perf_verify.rs"

[[example]]
name = "reader_page_cache_demo"
path = "examples/reader_page_cache_demo.rs"
required-features = ["page-cache"]

[[example]]
name = "repro_concurrent_write"
path = "benchmarks/repro_concurrent_write.rs"

[[example]]
name = "seekable_file_read"
path = "examples/seekable_file_read.rs"

[[example]]
name = "streaming_file_read"
path = "examples/streaming_file_read.rs"

[[example]]
name = "verify_checkblocks_locations"
path = "examples/verify_checkblocks_locations.rs"

[[example]]
name = "verify_java_hash_parity"
path = "examples/verify_java_hash_parity.rs"

[[example]]
name = "write_types"
path = "examples/write_types.rs"

[[test]]
name = "auth_retry"
path = "tests/auth_retry.rs"

[[test]]
name = "complete_file_crc_e2e"
path = "tests/complete_file_crc_e2e.rs"

[[test]]
name = "connection_reuse"
path = "tests/connection_reuse.rs"

[[test]]
name = "master_rename_no_replace"
path = "tests/master_rename_no_replace.rs"

[[test]]
name = "metadata_cache_e2e"
path = "tests/metadata_cache_e2e.rs"
required-features = ["metadata-cache"]

[[test]]
name = "metrics_heartbeat"
path = "tests/metrics_heartbeat.rs"

[[test]]
name = "opendal_sdk_api"
path = "tests/opendal_sdk_api.rs"

[[test]]
name = "page_cache_consistency"
path = "tests/page_cache_consistency.rs"
required-features = ["page-cache"]

[[test]]
name = "page_cache_e2e"
path = "tests/page_cache_e2e.rs"
required-features = ["page-cache"]

[[test]]
name = "ufs_stream_lifecycle_e2e"
path = "tests/ufs_stream_lifecycle_e2e.rs"

[[test]]
name = "write_degrade_e2e"
path = "tests/write_degrade_e2e.rs"

[[bench]]
name = "master_hotpath"
path = "benchmarks/master_hotpath.rs"
harness = false

[dependencies.arc-swap]
version = "1"

[dependencies.async-trait]
version = "0.1"

[dependencies.bytes]
version = "1.11.1"

[dependencies.dashmap]
version = "6"

[dependencies.fastrand]
version = "2"

[dependencies.foyer-common]
version = "0.22"
optional = true

[dependencies.foyer-memory]
version = "0.22"
optional = true

[dependencies.futures]
version = "0.3"

[dependencies.hostname]
version = "0.4"

[dependencies.itoa]
version = "1"

[dependencies.lru]
version = "0.16.4"
optional = true

[dependencies.prost]
version = "0.14.1"

[dependencies.rand]
version = "0.9.1"

[dependencies.reqwest]
version = "^0.12"
features = ["rustls-tls"]
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1.23"
features = [
    "rt",
    "macros",
    "sync",
    "time",
    "io-util",
]

[dependencies.tokio-stream]
version = "0.1.14"

[dependencies.tonic]
version = "0.14"
features = [
    "channel",
    "codegen",
]
default-features = false

[dependencies.tonic-prost]
version = "0.14"

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1.2"
features = ["v4"]

[dependencies.xxhash-rust]
version = "0.8.15"
features = ["xxh3"]

[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false

[dev-dependencies.tokio]
version = "1.23"
features = [
    "full",
    "test-util",
]

[build-dependencies.tonic-prost-build]
version = "0.14"
optional = true

[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.7"
optional = true

[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true

[profile.release]
lto = "fat"
codegen-units = 1
debug = 0
strip = true