A new version of the Rust bindings for Libnbd. Most changes have been
mentioned as replies to the comments I got on v4. But the most significant
change is probably that the patches have been reordered.

Best regards,
Tage


Tage Johansson (12):
  rust: create basic Rust bindings
  rust: Add a couple of integration tests
  rust: Make it possible to run tests with Valgrind
  rust: Add some examples
  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

 .gitignore                                    |  10 +
 .ocamlformat                                  |   4 +
 Makefile.am                                   |   2 +
 configure.ac                                  |  30 +
 generator/API.ml                              |  84 ++
 generator/API.mli                             |  35 +
 generator/Makefile.am                         |   4 +
 generator/Rust.ml                             | 794 ++++++++++++++++++
 generator/Rust.mli                            |  22 +
 generator/RustSys.ml                          | 167 ++++
 generator/RustSys.mli                         |  19 +
 generator/generator.ml                        |   4 +
 rust/Cargo.toml                               |  59 ++
 rust/Makefile.am                              | 106 +++
 rust/cargo_test/Cargo.toml                    |  23 +
 rust/cargo_test/README.md                     |   3 +
 rust/cargo_test/src/lib.rs                    |  31 +
 rust/examples/concurrent-read-write.rs        | 135 +++
 rust/examples/connect-command.rs              |  39 +
 rust/examples/fetch-first-sector.rs           |  38 +
 rust/examples/get-size.rs                     |  29 +
 rust/libnbd-sys/Cargo.toml                    |  32 +
 rust/libnbd-sys/build.rs                      |  26 +
 rust/libnbd-sys/src/.keep                     |   0
 rust/run-tests.sh.in                          |  39 +
 rust/src/async_handle.rs                      | 268 ++++++
 rust/src/error.rs                             | 157 ++++
 rust/src/handle.rs                            |  67 ++
 rust/src/lib.rs                               |  36 +
 rust/src/types.rs                             |  20 +
 rust/src/utils.rs                             |  23 +
 rust/tests/nbdkit_pattern/mod.rs              |  28 +
 rust/tests/test_100_handle.rs                 |  25 +
 rust/tests/test_110_defaults.rs               |  33 +
 rust/tests/test_120_set_non_defaults.rs       |  53 ++
 rust/tests/test_130_private_data.rs           |  28 +
 rust/tests/test_140_explicit_close.rs         |  31 +
 rust/tests/test_200_connect_command.rs        |  32 +
 rust/tests/test_210_opt_abort.rs              |  31 +
 rust/tests/test_220_opt_list.rs               |  86 ++
 rust/tests/test_230_opt_info.rs               | 120 +++
 rust/tests/test_240_opt_list_meta.rs          | 147 ++++
 rust/tests/test_245_opt_list_meta_queries.rs  |  93 ++
 rust/tests/test_250_opt_set_meta.rs           | 123 +++
 rust/tests/test_255_opt_set_meta_queries.rs   | 109 +++
 rust/tests/test_300_get_size.rs               |  35 +
 rust/tests/test_400_pread.rs                  |  39 +
 rust/tests/test_405_pread_structured.rs       |  79 ++
 rust/tests/test_410_pwrite.rs                 |  58 ++
 rust/tests/test_460_block_status.rs           |  92 ++
 rust/tests/test_620_stats.rs                  |  75 ++
 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 ++
 rust/tests/test_log/mod.rs                    |  86 ++
 rustfmt.toml                                  |  19 +
 scripts/git.orderfile                         |  12 +
 68 files changed, 4851 insertions(+)
 create mode 100644 .ocamlformat
 create mode 100644 generator/Rust.ml
 create mode 100644 generator/Rust.mli
 create mode 100644 generator/RustSys.ml
 create mode 100644 generator/RustSys.mli
 create mode 100644 rust/Cargo.toml
 create mode 100644 rust/Makefile.am
 create mode 100644 rust/cargo_test/Cargo.toml
 create mode 100644 rust/cargo_test/README.md
 create mode 100644 rust/cargo_test/src/lib.rs
 create mode 100644 rust/examples/concurrent-read-write.rs
 create mode 100644 rust/examples/connect-command.rs
 create mode 100644 rust/examples/fetch-first-sector.rs
 create mode 100644 rust/examples/get-size.rs
 create mode 100644 rust/libnbd-sys/Cargo.toml
 create mode 100644 rust/libnbd-sys/build.rs
 create mode 100644 rust/libnbd-sys/src/.keep
 create mode 100755 rust/run-tests.sh.in
 create mode 100644 rust/src/async_handle.rs
 create mode 100644 rust/src/error.rs
 create mode 100644 rust/src/handle.rs
 create mode 100644 rust/src/lib.rs
 create mode 100644 rust/src/types.rs
 create mode 100644 rust/src/utils.rs
 create mode 100644 rust/tests/nbdkit_pattern/mod.rs
 create mode 100644 rust/tests/test_100_handle.rs
 create mode 100644 rust/tests/test_110_defaults.rs
 create mode 100644 rust/tests/test_120_set_non_defaults.rs
 create mode 100644 rust/tests/test_130_private_data.rs
 create mode 100644 rust/tests/test_140_explicit_close.rs
 create mode 100644 rust/tests/test_200_connect_command.rs
 create mode 100644 rust/tests/test_210_opt_abort.rs
 create mode 100644 rust/tests/test_220_opt_list.rs
 create mode 100644 rust/tests/test_230_opt_info.rs
 create mode 100644 rust/tests/test_240_opt_list_meta.rs
 create mode 100644 rust/tests/test_245_opt_list_meta_queries.rs
 create mode 100644 rust/tests/test_250_opt_set_meta.rs
 create mode 100644 rust/tests/test_255_opt_set_meta_queries.rs
 create mode 100644 rust/tests/test_300_get_size.rs
 create mode 100644 rust/tests/test_400_pread.rs
 create mode 100644 rust/tests/test_405_pread_structured.rs
 create mode 100644 rust/tests/test_410_pwrite.rs
 create mode 100644 rust/tests/test_460_block_status.rs
 create mode 100644 rust/tests/test_620_stats.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
 create mode 100644 rust/tests/test_log/mod.rs
 create mode 100644 rustfmt.toml

--
2.41.0

_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to