mirror of
https://github.com/wez/wezterm.git
synced 2024-11-23 23:21:08 +03:00
e090eb9eae
Continuing from the previous commit, this shifts: * In-memory data -> temporary file * Image decoding -> background thread The background thread asynchronously decodes frames and sends them to the render thread via a bounded channel. While decoding frames, it writes them, uncompressed, to a scratch file so that when the animation loops, it is a very cheap operation to rewind and pull that data from the file, without having to burn CPU to re-decode the data from the start. Memory usage is bounded to 4 uncompressed frames while decoding, then 3 uncompressed frames (triple buffered) while looping over the rest. However, disk usage is N uncompressed frames. refs: https://github.com/wez/wezterm/issues/3263
54 lines
1.6 KiB
TOML
54 lines
1.6 KiB
TOML
[package]
|
|
name = "wezterm-ssh"
|
|
version = "0.4.0"
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
|
edition = "2018"
|
|
repository = "https://github.com/wez/wezterm"
|
|
description = "More convenient higher level wrapper around libssh2"
|
|
license = "MIT"
|
|
documentation = "https://docs.rs/wezterm-ssh"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[features]
|
|
default = ["libssh-rs", "ssh2"]
|
|
vendored-openssl = ["ssh2/vendored-openssl", "libssh-rs/vendored-openssl"]
|
|
vendored-openssl-ssh2 = ["ssh2/vendored-openssl"]
|
|
vendored-openssl-libssh-rs = ["libssh-rs/vendored-openssl"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
base64 = "0.21"
|
|
bitflags = "1.3"
|
|
camino = "1.0"
|
|
dirs-next = "2.0"
|
|
filedescriptor = { version="0.8", path = "../filedescriptor" }
|
|
filenamegen = "0.2"
|
|
gethostname = "0.4"
|
|
libc = "0.2"
|
|
log = "0.4"
|
|
portable-pty = { version="0.8", path = "../pty" }
|
|
regex = "1"
|
|
smol = "1.2"
|
|
ssh2 = {version="0.9.3", features=["openssl-on-win32"], optional = true}
|
|
libssh-rs = {version="0.1.5", features=["vendored"], git="https://github.com/wez/libssh-rs.git", optional = true}
|
|
#libssh-rs = {path="../../libssh-rs/libssh-rs", features=["vendored"], optional = true}
|
|
thiserror = "1.0"
|
|
socket2 = "0.5"
|
|
|
|
# Not used directly, but is used to centralize the openssl vendor feature selection
|
|
async_ossl = { path = "../async_ossl" }
|
|
|
|
[dev-dependencies]
|
|
assert_fs = "1.0.4"
|
|
clap = {version="4.0", features=["derive"]}
|
|
k9 = "0.11.0"
|
|
once_cell = "1.8"
|
|
predicates = "2.0"
|
|
env_logger = "0.10"
|
|
rstest = "0.16"
|
|
shell-words = "1.1"
|
|
smol-potat = "1.1.2"
|
|
termwiz = { version = "0.21", path = "../termwiz" }
|
|
whoami = "1.1"
|