This is the 7th version of the Rust bindings for Libnbd. It is more or
less identical to the 6th version without the already merged patches.
Best regards,
Tage
Tage Johansson (9):
rust: Make it possible to run tests with Valgrind
generator: Add information about asynchronous handle calls
generator: Add information about the lifetime of closures
rust: Use more specific closure traits
rust: async: Create an async friendly handle type
generator: Add `modifies_fd` flag to the [call] structure
rust: async: Use the modifies_fd flag to exclude calls
rust: async: Add a couple of integration tests
rust: async: Add an example
generator/API.ml | 84 ++++++
generator/API.mli | 35 +++
generator/Rust.ml | 278 +++++++++++++++++-
generator/Rust.mli | 2 +
generator/generator.ml | 2 +
rust/Cargo.toml | 6 +-
rust/Makefile.am | 5 +
rust/examples/concurrent-read-write.rs | 135 +++++++++
rust/run-tests.sh.in | 18 +-
rust/src/async_handle.rs | 268 +++++++++++++++++
rust/src/handle.rs | 2 +
rust/src/lib.rs | 8 +
rust/src/types.rs | 2 +
rust/tests/test_async_100_handle.rs | 25 ++
rust/tests/test_async_200_connect_command.rs | 33 +++
rust/tests/test_async_210_opt_abort.rs | 32 ++
rust/tests/test_async_220_opt_list.rs | 81 +++++
rust/tests/test_async_230_opt_info.rs | 122 ++++++++
rust/tests/test_async_240_opt_list_meta.rs | 147 +++++++++
.../test_async_245_opt_list_meta_queries.rs | 91 ++++++
rust/tests/test_async_250_opt_set_meta.rs | 122 ++++++++
.../test_async_255_opt_set_meta_queries.rs | 107 +++++++
rust/tests/test_async_400_pread.rs | 40 +++
rust/tests/test_async_405_pread_structured.rs | 84 ++++++
rust/tests/test_async_410_pwrite.rs | 59 ++++
rust/tests/test_async_460_block_status.rs | 92 ++++++
rust/tests/test_async_620_stats.rs | 76 +++++
scripts/git.orderfile | 1 +
28 files changed, 1934 insertions(+), 23 deletions(-)
create mode 100644 rust/examples/concurrent-read-write.rs
create mode 100644 rust/src/async_handle.rs
create mode 100644 rust/tests/test_async_100_handle.rs
create mode 100644 rust/tests/test_async_200_connect_command.rs
create mode 100644 rust/tests/test_async_210_opt_abort.rs
create mode 100644 rust/tests/test_async_220_opt_list.rs
create mode 100644 rust/tests/test_async_230_opt_info.rs
create mode 100644 rust/tests/test_async_240_opt_list_meta.rs
create mode 100644 rust/tests/test_async_245_opt_list_meta_queries.rs
create mode 100644 rust/tests/test_async_250_opt_set_meta.rs
create mode 100644 rust/tests/test_async_255_opt_set_meta_queries.rs
create mode 100644 rust/tests/test_async_400_pread.rs
create mode 100644 rust/tests/test_async_405_pread_structured.rs
create mode 100644 rust/tests/test_async_410_pwrite.rs
create mode 100644 rust/tests/test_async_460_block_status.rs
create mode 100644 rust/tests/test_async_620_stats.rs
base-commit: 33a47171653931b7e255e33930697a55eae1493b
prerequisite-patch-id: ff317be8e27608697ee070388502566ecf8546bb
prerequisite-patch-id: 6a68a5da00c78e039972118bfde68cf87d7db6af
prerequisite-patch-id: a6ae1f1d90ca8cb69d17c977428855acadd47608
prerequisite-patch-id: 053dc904d579f2d065228c1c5780109871e9cd66
prerequisite-patch-id: 99eb277dfb04af7930cc827d85fd011fc54bdd4c
prerequisite-patch-id: 0b4159540024f935140d070146d89f95b96576fa
prerequisite-patch-id: f320498a380789b51bf65b603c0627167453352c
prerequisite-patch-id: f9aea5f724ac167744aa72456340c370a43611a2
prerequisite-patch-id: 9ff0b41ad9fd00d5d67de92d574255b46cdf150a
prerequisite-patch-id: 1fd2bcd42012e5d0ab10f63a1849f2ccc706e6d6
prerequisite-patch-id: 7c5b4b59f2765e8c255857a0834805d19cecf65d
prerequisite-patch-id: 4d7bd8e07e4710e3420c1ee71502f0fd0da91ea7
prerequisite-patch-id: 5ed2a56efbc9554261f875cd299dd2b7483c78c8
prerequisite-patch-id: 52d475de3ab033859d6bd87996078ae7b3385695
prerequisite-patch-id: c6a05c89340bed6471de1d74ef95acb5b6ac2c25
prerequisite-patch-id: 097dd7285726e45b02493fc306fd3017748d50e2
prerequisite-patch-id: 359900c28144cf2059e23a2911ea9f9f9ca5db23
prerequisite-patch-id: 4db98f7b211c0de9a4095b300970e1973cf0716c
prerequisite-patch-id: 0bb320af5109c1c21e5b76d44e6ec1e7e685fd9f
prerequisite-patch-id: 205525d8ea09e77ea13f43d0720153ed5904dbcd
prerequisite-patch-id: f76cdc6ceca68268df92341985068388f25291ff
prerequisite-patch-id: 84cb140c8f0dd089ca8e9567cc2117bf38c9e558
prerequisite-patch-id: b2c3285d05fd56a258d3ec47d7d4cdcf06a57014
prerequisite-patch-id: 8938eab7a42f8a7ed82c9372be9bf29c2991787f
prerequisite-patch-id: 7694233787dd758add8c30e69965dfd1ffee7012
prerequisite-patch-id: 770993f2baac576e163abd73c2d4af3d8841b032
prerequisite-patch-id: e85690fa670dce4f6eb84b01c1b16700540789df
prerequisite-patch-id: 72e384aafbe3d1bec34371a2f4a862ff2db0b8ca
prerequisite-patch-id: 45e0dc7a06e0845f7ca992f663afcea8e9bc4ba0
prerequisite-patch-id: 0c3ac3d6f776a2e09e45534f3f74eaeb672dd003
prerequisite-patch-id: 0fc920e92dd6a36d97b4e60a68060031fe274a3b
prerequisite-patch-id: 8467ff99068b5ca29b74813ffefe1cd5689196d1
prerequisite-patch-id: cf92490b4d427b4fb036fdd5cc682a43be82d937
prerequisite-patch-id: 6518b46cd0dcfc9aec830b0532ae1fbfd3f9bbea
prerequisite-patch-id: 8e75ca2543d6e901a472b32a3f0daf81e79c090c
prerequisite-patch-id: 97ec755ec74a802d1b4efeec8be66dcdb9ac739d
prerequisite-patch-id: 95dd4160a43fa2bea8fbf614c912263cd5ad840d
prerequisite-patch-id: f219538637190d9340f30acef9b3d24125d3bb69
prerequisite-patch-id: c11ebccd6db5c175ed40b13916f9b1affd8179d8
prerequisite-patch-id: d6bcb838a1875541f3f125b95f346c21a7d614ea
--
2.41.0