[[bench]]
harness = false
name = "simple"
path = "benches/simple.rs"
[[bench]]
harness = false
name = "streaming"
path = "benches/streaming.rs"
[[bin]]
name = "rpcnet-gen"
path = "src/bin/rpcnet-gen.rs"
[dependencies.aes-gcm]
version = "0.10.3"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.bincode]
version = "1.3.3"
[dependencies.bytes]
version = "1.9.0"
[dependencies.clap]
features = ["derive"]
version = "4.0"
[dependencies.dashmap]
version = "6"
[dependencies.flate2]
version = "1.0.28"
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4.3"
[dependencies.hmac]
version = "0.12.1"
[dependencies.jemallocator]
optional = true
version = "0.5"
[dependencies.md5]
version = "0.7.0"
[dependencies.pin-project]
version = "1.1"
[dependencies.prettyplease]
version = "0.2"
[dependencies.proc-macro2]
version = "1.0"
[dependencies.quiche]
version = "0.24.5"
[dependencies.quote]
version = "1.0"
[dependencies.rand]
version = "0.8.5"
[dependencies.ring]
version = "0.17.13"
[dependencies.s2n-quic]
version = "1.52.0"
[dependencies.serde]
features = ["derive"]
version = "1.0.217"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10.8"
[dependencies.statrs]
version = "0.17"
[dependencies.syn]
features = ["full", "extra-traits", "parsing"]
version = "2.0"
[dependencies.thiserror]
version = "2.0.10"
[dependencies.tokio]
features = ["full"]
version = "1.43.1"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.11.0"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.assert_matches]
version = "1.5"
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.num_cpus]
version = "1.0"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4.4"
[[example]]
name = "basic_client"
path = "examples/basic_client.rs"
[[example]]
name = "basic_greeting_client"
path = "examples/basic_greeting/client.rs"
required-features = ["codegen"]
[[example]]
name = "basic_greeting_server"
path = "examples/basic_greeting/server.rs"
required-features = ["codegen"]
[[example]]
name = "basic_server"
path = "examples/basic_server.rs"
[[example]]
name = "calculator_client"
path = "examples/calculator/client.rs"
required-features = ["codegen"]
[[example]]
name = "calculator_server"
path = "examples/calculator/server.rs"
required-features = ["codegen"]
[[example]]
name = "concurrent_demo_client"
path = "examples/concurrent_demo/client.rs"
required-features = ["codegen"]
[[example]]
name = "concurrent_demo_server"
path = "examples/concurrent_demo/server.rs"
required-features = ["codegen"]
[[example]]
name = "echo_client"
path = "examples/echo/client.rs"
required-features = ["codegen"]
[[example]]
name = "echo_server"
path = "examples/echo/server.rs"
required-features = ["codegen"]
[[example]]
name = "file_transfer_client"
path = "examples/file_transfer/client.rs"
required-features = ["codegen"]
[[example]]
name = "file_transfer_server"
path = "examples/file_transfer/server.rs"
required-features = ["codegen"]
[[example]]
name = "simple_echo_client"
path = "examples/simple_echo_client.rs"
[[example]]
name = "simple_echo_server"
path = "examples/simple_echo_server.rs"
[features]
codegen = []
default = ["codegen", "perf"]
perf = ["jemallocator"]
[lib]
name = "rpcnet"
path = "src/lib.rs"
[package]
authors = ["Sam Hart <contact@justsam.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "asynchronous", "web-programming"]
description = "RPC library based on QUIC+TLS encryption"
documentation = "https://docs.rs/rpcnet"
edition = "2021"
homepage = "https://github.com/jsam/rpcnet"
keywords = ["rpc", "quic", "async", "networking", "codegen"]
license = "MIT OR Apache-2.0"
name = "rpcnet"
readme = "README.md"
repository = "https://github.com/jsam/rpcnet"
version = "0.1.0"
[package.metadata.tarpaulin]
all-features = true
exclude-files = ["examples/*", "benches/*", "tests/*", "specs/*", "target/*", "src/bin/*"]
fail-under = 90
ignored = true
out = ["Html", "Json", "Xml"]
output-dir = "target/coverage"
timeout = "300"
[[test]]
name = "bidirectional_streaming_coverage_tests"
path = "tests/bidirectional_streaming_coverage_tests.rs"
[[test]]
name = "client_method_unit_tests"
path = "tests/client_method_unit_tests.rs"
[[test]]
name = "client_streaming_coverage_tests"
path = "tests/client_streaming_coverage_tests.rs"
[[test]]
name = "cluster_integration"
path = "tests/cluster_integration.rs"
[[test]]
name = "codegen_tests"
path = "tests/codegen_tests.rs"
[[test]]
name = "core_error_tests"
path = "tests/core_error_tests.rs"
[[test]]
name = "create_request_stream_tests"
path = "tests/create_request_stream_tests.rs"
[[test]]
name = "drive_connection_real_coverage"
path = "tests/drive_connection_real_coverage.rs"
[[test]]
name = "drive_connection_tests"
path = "tests/drive_connection_tests.rs"
[[test]]
name = "end_to_end_generated"
path = "tests/end_to_end_generated.rs"
[[test]]
name = "error_coverage_tests"
path = "tests/error_coverage_tests.rs"
[[test]]
name = "error_scenarios"
path = "tests/error_scenarios.rs"
[[test]]
name = "exact_coverage_lines_test"
path = "tests/exact_coverage_lines_test.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "minimal_streaming_test"
path = "tests/minimal_streaming_test.rs"
[[test]]
name = "parser_validation_tests"
path = "tests/parser_validation_tests.rs"
[[test]]
name = "real_streaming_integration_tests"
path = "tests/real_streaming_integration_tests.rs"
[[test]]
name = "security_edge_cases"
path = "tests/security_edge_cases.rs"
[[test]]
name = "server_start_response_tests"
path = "tests/server_start_response_tests.rs"
[[test]]
name = "simple_create_request_stream_test"
path = "tests/simple_create_request_stream_test.rs"
[[test]]
name = "simple_streaming_tests"
path = "tests/simple_streaming_tests.rs"
[[test]]
name = "simple_unit_tests"
path = "tests/simple_unit_tests.rs"
[[test]]
name = "start_method_internal_paths_tests"
path = "tests/start_method_internal_paths_tests.rs"
[[test]]
name = "start_method_natural_ok_return_test"
path = "tests/start_method_natural_ok_return_test.rs"
[[test]]
name = "start_method_unit_tests"
path = "tests/start_method_unit_tests.rs"
[[test]]
name = "streaming_coverage_tests"
path = "tests/streaming_coverage_tests.rs"
[[test]]
name = "streaming_internals_tests"
path = "tests/streaming_internals_tests.rs"
[[test]]
name = "streaming_tests"
path = "tests/streaming_tests.rs"
[[test]]
name = "surgical_line_1426_test"
path = "tests/surgical_line_1426_test.rs"
[[test]]
name = "unit_coverage_tests"
path = "tests/unit_coverage_tests.rs"
[[test]]
name = "unit_tests"
path = "tests/unit_tests.rs"