pgwire-replication 0.1.1

Tokio-based Postgres wire-protocol logical replication client (pgoutput) with TLS and SCRAM.
Documentation
[[bench]]
harness = false
name = "protocol_bench"
path = "benches/protocol_bench.rs"

[dependencies.anyhow]
version = "1"

[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bytes]
version = "1"

[dependencies.hmac]
optional = true
version = "0.12"

[dependencies.md5]
optional = true
version = "0.7"

[dependencies.rand]
optional = true
version = "0.9"

[dependencies.rustls]
features = ["ring"]
optional = true
version = "0.23"

[dependencies.rustls-pemfile]
optional = true
version = "2"

[dependencies.sha2]
optional = true
version = "0.10"

[dependencies.testcontainers]
optional = true
version = "0.25"

[dependencies.thiserror]
version = "1"

[dependencies.tokio]
features = ["net", "io-util", "time", "macros", "rt-multi-thread", "sync"]
version = "1"

[dependencies.tokio-postgres]
optional = true
version = "0.7"

[dependencies.tokio-rustls]
optional = true
version = "0.26"

[dependencies.tokio-util]
version = "0.7"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["env-filter"]
optional = true
version = "0.3"

[dependencies.webpki-roots]
optional = true
version = "0.26"

[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"

[dev-dependencies.hex]
version = "0.4"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio-postgres]
version = "0.7"

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

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

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

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

[[example]]
name = "with_mtls"
path = "examples/with_mtls.rs"
required-features = ["tls-rustls"]

[[example]]
name = "with_tls"
path = "examples/with_tls.rs"
required-features = ["tls-rustls"]

[features]
default = ["tls-rustls", "scram"]
integration-tests = ["dep:testcontainers", "dep:tokio-postgres", "dep:tracing-subscriber"]
md5 = ["dep:md5"]
scram = ["dep:base64", "dep:hmac", "dep:sha2", "dep:rand"]
tls-rustls = ["dep:rustls", "dep:tokio-rustls", "dep:webpki-roots", "dep:rustls-pemfile"]

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

[package]
authors = ["Vahid Negahdari <vahid.negahdari@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "network-programming", "asynchronous"]
description = "Tokio-based Postgres wire-protocol logical replication client (pgoutput) with TLS and SCRAM."
documentation = "https://docs.rs/pgwire-replication"
edition = "2021"
exclude = ["Cargo.lock"]
homepage = "https://github.com/vnvo/pgwire-replication"
keywords = ["postgres", "pgoutput", "replication", "wal", "pgwire"]
license = "Apache-2.0 OR MIT"
name = "pgwire-replication"
readme = "README.md"
repository = "https://github.com/vnvo/pgwire-replication"
resolver = "2"
rust-version = "1.88"
version = "0.1.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

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