[pbs-devel] [PATCH-SERIES 0/20] update to tokio 1.0 and friends

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Jan 12 14:58:10 CET 2021


this series updates to tokio 1.0 and related crates:
- bytes 1
- openssl 0.10
- tokio-openssl 0.6.1
- hyper 0.14
- h2 0.3
- tokio-stream (new, split out)
- tokio-util 0.6
- rustyline 7
- pin-project 1
- nix 0.19.1
- crossbeam-channel 0.5

the main changes are:
- mio no longer exposed by tokio, PollEvented is replaced by AsyncFd
- tokio runtime setup / interface was adapted
- tokio Stream code got split into a separate crate until std::stream exists
- tokio::io::AsyncRead using ReadBuf
- tokio::time::{Sleep,Timeout} no longer Unpin and renamed (delay -> sleep)
- tokio-openssl API changed
- hyper HTTP2 upgrade API changed

the recently introduced TimeoutFutureExt from the proxmox crate is dropped in
favour of using tokio::time::timeout directly, since it only had three call
sites.

the unused futures-io feature (and related code) in pxar was dropped.

all the important Stream wrappers/adapters now exist in tokio-stream.

AFAICT no performance regression or otherwise (anymore)

proxmox:
 proxmox/Cargo.toml              | 13 +++++----
 proxmox/debian/control          | 61 +++++++++++++++++++++++++++--------------
 proxmox/src/api/cli/readline.rs |  4 ++-
 proxmox/src/tools/future.rs     | 48 --------------------------------
 proxmox/src/tools/mod.rs        |  1 -
 proxmox/src/tools/websocket.rs  | 18 ++++++------
 6 files changed, 59 insertions(+), 86 deletions(-)

proxmox-backup:
 Cargo.toml                             | 25 +++++++------
 debian/control                         | 49 ++++++++++++-------------
 examples/h2client.rs                   | 37 ++++++++++---------
 examples/h2s-client.rs                 | 67 ++++++++++++++++------------------
 examples/h2s-server.rs                 | 42 ++++++++++-----------
 examples/h2server.rs                   | 56 +++++++++++++++-------------
 src/api2/admin/datastore.rs            |  3 +-
 src/api2/backup.rs                     |  5 +--
 src/api2/node.rs                       | 14 +++----
 src/api2/reader.rs                     |  5 +--
 src/backup/async_index_reader.rs       | 23 ++++++------
 src/bin/proxmox-backup-client.rs       |  5 ++-
 src/bin/proxmox-backup-manager.rs      |  2 +-
 src/bin/proxmox-backup-proxy.rs        | 38 ++++++++++++++-----
 src/bin/proxmox-daily-update.rs        |  2 +-
 src/bin/proxmox-tape.rs                |  2 +-
 src/bin/proxmox_backup_client/mount.rs |  5 ++-
 src/client/backup_writer.rs            | 10 ++---
 src/client/http_client.rs              | 40 +++++++++++---------
 src/server/command_socket.rs           |  2 +-
 src/server/rest.rs                     | 12 +++---
 src/tools/async_channel_writer.rs      |  2 +-
 src/tools/async_io.rs                  | 52 ++------------------------
 src/tools/broadcast_future.rs          |  2 +-
 src/tools/daemon.rs                    |  8 ++--
 src/tools/http.rs                      | 11 +++---
 src/tools/runtime.rs                   |  6 +--
 src/tools/wrapped_reader_stream.rs     |  8 ++--
 src/tools/zip.rs                       |  1 -
 tests/worker-task-abort.rs             |  2 +-
 30 files changed, 255 insertions(+), 281 deletions(-)

proxmox-backup-qemu:
 Cargo.toml     | 14 ++++++++------
 src/backup.rs  |  9 ++++-----
 src/restore.rs |  9 ++++-----
 3 files changed, 16 insertions(+), 16 deletions(-)

proxmox-fuse:
 Cargo.toml     |  7 +++++--
 debian/control | 22 ++++++++++------------
 src/fuse_fd.rs | 30 ------------------------------
 src/session.rs | 14 ++++++--------
 4 files changed, 21 insertions(+), 52 deletions(-)

pxar:
 Cargo.toml          |  11 ++---
 debian/control      |  78 +++++++++--------------------
 src/accessor/aio.rs |  41 ++++------------
 src/decoder/aio.rs  | 139 ++++++++--------------------------------------------
 src/encoder/aio.rs  |  81 ------------------------------
 src/encoder/mod.rs  |  21 ++------
 src/lib.rs          |  25 ++--------
 src/util.rs         |   7 +--
 8 files changed, 67 insertions(+), 336 deletions(-)






More information about the pbs-devel mailing list