third-party/rust: import async-compression + update zstd

Summary:
This imports the async-compression crate. We have an equivalent-ish in
common/rust, but it targets Tokio 0.1, whereas this community-supported crate
targets Tokio 0.2 (it offers a richer API, notably in the sense that we
can use it for Streams, whereas the async-compression crate we have is only for
AsyncWrite).

In the immediate term, I'd like to use this for transfer compression in
Mononoke's LFS Server. In the future, we might also use it in Mononoke where we
currently use our own async compression crate when all that stuff moves to
Tokio 0.2.

Finally, this also updates zstd: the version we link to from tp2 is actually
zstd 1.4.5, so it's a good idea to just get the same version of the zstd crate.

The zstd crate doesn't keep a great changelog, so it's hard to tell what has changed.
At a glance, it looks like the answer is not much, but I'm going to look to Sandcastle
to root out potential issues here.

Reviewed By: StanislavGlebik

Differential Revision: D23652335

fbshipit-source-id: e250cef7a52d640bbbcccd72448fd2d4f548a48a
This commit is contained in:
Thomas Orozco 2020-09-15 07:57:18 -07:00 committed by Facebook GitHub Bot
parent d4ae4f2952
commit 21290702e1
6 changed files with 6 additions and 6 deletions

View File

@ -26,7 +26,7 @@ futures-old = { package = "futures", version = "0.1" }
serde = { version = "1.0", features = ["derive", "rc"] }
serde_derive = "1.0"
thiserror = "1.0"
zstd = "=0.4.23"
zstd = "=0.5.3+zstd.1.4.5"
[dev-dependencies]
cacheblob = { path = "cacheblob" }

View File

@ -20,7 +20,7 @@ bufsize = "0.5"
bytes = { version = "0.5", features = ["serde"] }
futures = { version = "0.3.5", features = ["async-await", "compat"] }
futures-old = { package = "futures", version = "0.1" }
zstd = "=0.4.23"
zstd = "=0.5.3+zstd.1.4.5"
[dev-dependencies]
memblob = { path = "../memblob" }

View File

@ -6,5 +6,5 @@ edition = "2018"
[dependencies]
cpython-ext = { path = "../../../../lib/cpython-ext", default-features = false }
cpython = { version = "0.5", default-features = false }
zstd = "0.4.18"
zstd = "0.5.3"
zstdelta = { path = "../../../../lib/zstdelta/" }

View File

@ -24,7 +24,7 @@ thrift-types = { path = "../thrift-types", optional = true }
types = { path = "../types", optional = true }
util = { path = "../util" }
version = { path = "../version" }
zstd = { version = "0.4", optional = true }
zstd = { version = "0.5", optional = true }
[dev-dependencies]
lazy_static = "1.3.0"

View File

@ -41,4 +41,4 @@ tracing-collector = { path = "../tracing-collector" }
types = { path = "../types" }
util = { path = "../util" }
version = { path = "../version" }
zstd = "0.4"
zstd = "0.5"

View File

@ -5,7 +5,7 @@ edition = "2018"
[dependencies]
libc = "0.2.65" # keep it in sync with zstd-sys
zstd-sys = { version = "= 1.4.14+zstd.1.4.3", features = ["experimental"] } # pinned. zstd advanced API changes rapidly
zstd-sys = { version = "=1.4.17+zstd.1.4.5", features = ["experimental"] } # pinned. zstd advanced API changes rapidly
[dev-dependencies]
quickcheck = "0.9"