-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
84 lines (71 loc) · 2.57 KB
/
Cargo.toml
File metadata and controls
84 lines (71 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
[package]
name = "pg_walstream"
version = "0.6.3"
edition = "2021"
authors = ["danielshih <dog830228@gmail.com>"]
license = "BSD-3-Clause"
repository = "https://github.com/isdaniel/pg-walstream"
homepage = "https://github.com/isdaniel/pg-walstream"
documentation = "https://docs.rs/pg_walstream"
readme = "README.md"
description = "PostgreSQL logical replication protocol library - parse and handle PostgreSQL WAL streaming messages"
keywords = ["postgresql", "replication", "wal", "logical-decoding", "streaming"]
categories = ["database", "parsing", "network-programming"]
[dependencies]
tokio = { version = "1.52.1", features = ["io-util", "net", "time", "macros", "rt", "rt-multi-thread"] }
tokio-util = "0.7.18"
serde = { version = "1.0.228", features = ["derive", "rc"] }
chrono = { version = "0.4.44", features = ["serde"] }
bytes = { version = "1.11.1", features = ["serde"] }
tracing = "0.1.44"
futures-core = "0.3.32"
memchr = "2.8.0"
smallvec = { version = "1.15.1", features = ["serde"] }
# libpq backend (default)
libpq-sys = { version = "0.8", optional = true }
# rustls-tls
tokio-rustls = { version = "0.26.4", optional = true }
rustls = { version = "0.23.39", default-features = false, features = ["std", "tls12"], optional = true }
webpki-roots = { version = "1.0.7", optional = true }
postgres-protocol = { version = "0.6.11", optional = true }
aws-lc-rs = { version = "1.16.3", optional = true }
socket2 = { version = "0.6.3", features = ["all"], optional = true }
[features]
default = ["libpq"]
libpq = ["dep:libpq-sys"]
# Pure-Rust native backend: uses rustls with aws-lc-rs forhardware-accelerated TLS crypto (AES-NI, AVX2, SHA-NI), requires cmake + C compiler at build time.
rustls-tls = [
"dep:tokio-rustls",
"dep:rustls",
"dep:webpki-roots",
"dep:postgres-protocol",
"dep:aws-lc-rs",
"dep:socket2",
"rustls/aws_lc_rs",
]
[dev-dependencies]
tokio = { version = "1.52.1", features = ["full"] }
criterion = { version = "0.8.2", features = ["html_reports"] }
futures = "0.3.32"
serde_bytes = "0.11.19"
[[test]]
name = "snapshot_export"
path = "integration-tests/snapshot_export.rs"
[[test]]
name = "rate_limited_streaming"
path = "integration-tests/rate_limited_streaming.rs"
[[test]]
name = "safe_transaction_consumer"
path = "integration-tests/safe_transaction_consumer.rs"
[[test]]
name = "complex_types"
path = "integration-tests/complex_types.rs"
[[test]]
name = "typed_deserialization"
path = "integration-tests/typed_deserialization.rs"
[[test]]
name = "ssl_connections"
path = "integration-tests/ssl_connections.rs"
[[bench]]
name = "wal_pipeline"
harness = false