Displaying 20 results from an estimated 9000 matches similar to: "[nbdkit] About the Rust bindings"
2020 Jun 06
0
Re: [nbdkit] About the Rust bindings
On Sat, Jun 6, 2020 at 3:39 AM Richard W.M. Jones <rjones@redhat.com> wrote:
> [To continue the conversation from
> https://github.com/libguestfs/nbdkit/issues/5]
>
> > Currently there's no way for the Rust plugin to report an error. The
> > idiomatic way to do it would be for each callback to return a Result
> > object, much like how the Go plugin currently
2020 Jun 11
3
New Rust bindings for nbdkit
The existing Rust bindings for nbdkit aren't very idiomatic Rust, and they
are missing a lot of features. So I've rewritten them. The new bindings
aren't backwards compatible, but I doubt that's a problem. Most likely,
nobody has tried to use them yet, since the crate hasn't even published to
crates.io. Please review the attached patch.
-Alan
2020 Jun 15
3
Re: New Rust bindings for nbdkit
On Mon, Jun 15, 2020 at 02:22:32PM +0100, Richard W.M. Jones wrote:
> On Thu, Jun 11, 2020 at 04:19:08PM -0600, alan somers wrote:
> > The existing Rust bindings for nbdkit aren't very idiomatic Rust, and they
> > are missing a lot of features. So I've rewritten them. The new bindings
> > aren't backwards compatible, but I doubt that's a problem. Most
2019 Aug 16
2
Re: [nbdkit PATCH 1/2] rust: Implement can_cache
On 8/16/19 12:08 PM, Eric Blake wrote:
> Implementing extents requires some coordination for the Rust code to
> call back into libnbdkit; I'm not familiar with Rust enough to do
> that. But with placeholders for those slots, implementing
> can_cache/cache is trivial. This improves the situation mentioned in
> commit 031fae85.
>
> Signed-off-by: Eric Blake
2019 Feb 08
3
[PATCH nbdkit] Add support for writing plugins in Rust.
This adds very rough support for writing nbdkit plugins in Rust. This
is not very idiomatic -- essentially we're handling the direct C calls
from nbdkit in Rust. We have to use ‘unsafe’ in a few places because
there's no way to tell the Rust code that nbdkit satisfies guarantees
(eg. around thread safety, always returning leaked pointers back to
the close function, always doing bounds
2020 Jun 15
1
Re: New Rust bindings for nbdkit
On Mon, Jun 15, 2020 at 08:11:47AM -0600, alan somers wrote:
> On Mon, Jun 15, 2020 at 8:04 AM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Mon, Jun 15, 2020 at 02:22:32PM +0100, Richard W.M. Jones wrote:
> > > On Thu, Jun 11, 2020 at 04:19:08PM -0600, alan somers wrote:
> > > > The existing Rust bindings for nbdkit aren't very idiomatic
2020 Apr 21
2
[PATCH nbdkit v2] Add the ability to write plugins in golang.
Thanks: Dan Berrangé
XXX UNFINISHED:
- Is using uintptr for the handle a good idea? Plugins must return
something != 0. In other languages we would allow plugins to
return an arbitrary object here, but this is not possible in golang
because of lack of GC roots.
- Default can_* methods are hard to implement. Ideally we would be
able to test if a user plugin implements a
2019 Jul 03
1
Re: [PATCH 01/12] Rust bindings: Add Rust bindings
On Tue, Jul 02, 2019 at 10:14:19PM +0900, Hiroyuki Katsura wrote:
>From: Hiroyuki_Katsura <hiroyuki.katsura.0513@gmail.com>
>
>---
> Makefile.am | 4 ++++
> configure.ac | 3 +++
> generator/Makefile.am | 3 +++
> generator/bindtests.ml | 3 +++
> generator/bindtests.mli | 1 +
> generator/main.ml | 5 +++++
> generator/rust.ml
2019 Aug 16
1
Re: [nbdkit PATCH 1/2] rust: Implement can_cache
On Fri, Aug 16, 2019 at 01:05:58PM -0500, Eric Blake wrote:
> On 8/16/19 1:01 PM, Eric Blake wrote:
> > On 8/16/19 12:08 PM, Eric Blake wrote:
> >> Implementing extents requires some coordination for the Rust code to
> >> call back into libnbdkit; I'm not familiar with Rust enough to do
> >> that. But with placeholders for those slots, implementing
>
2019 Feb 08
1
Re: [PATCH nbdkit] Add support for writing plugins in Rust.
On 2/8/19 5:55 AM, Richard W.M. Jones wrote:
> ---
> +* Consider supporting a more idiomatic style for writing Rust plugins.
> +
Considering I've written nothing in Rust, I'm no good at deciding what
forms idiomatic Rust plugins.
> +++ b/configure.ac
> @@ -545,6 +545,15 @@ AS_IF([test "x$OCAMLOPT" != "xno" && test "x$enable_ocaml" !=
2019 Jul 17
2
[PATCH] Rust bindings: Add Rust bindings
From: Hiroyuki_Katsura <hiroyuki.katsura.0513@gmail.com>
Rust bindings: Add create / close functions
Rust bindings: Add 4 bindings tests
Rust bindings: Add generator of structs
Rust bindings: Add generator of structs for optional arguments
Rust bindings: Add generator of function signatures
Rust bindings: Complete actions
Rust bindings: Fix memory management
Rust bindings: Add
2023 Oct 18
2
[PATCH libnbd 0/4] Miscellaneous Rust cleanups
On Tue, Oct 10, 2023 at 03:06:06PM +0100, Richard W.M. Jones wrote:
> Add an overview libnbd-rust(3) man page pointing to the real
> documentation. This is like OCaml & Golang.
>
> When reviewing the real rustdocs I noticed they basically converted
> the man pages into plain text, resulting in lots of problems such as
> internal links not working, no `code` annotations,
2020 Apr 10
3
[PATCH nbdkit UNFINISHED] Add the ability to write plugins in golang.
Sorry Dan, but I really do dislike golang with a passion :-)
Here is a patch that allows you to write nbdkit plugins in golang. As
with C, OCaml and Rust, you can write a plugin in Go which compiles
directly to a .so file that can be loaded into golang, so in that
sense it works completely differently from scripting language plugins
like Perl and Python where there's an
2019 Jul 08
2
Re: [PATCH] Add Rust bindings
On Mon, Jul 08, 2019 at 10:10:10AM +0200, Pino Toscano wrote:
>On Saturday, 6 July 2019 13:03:24 CEST Martin Kletzander wrote:
>> Just one thing, the Cargo.toml includes a version under which the crate would be
>> published. I presume the version would be the same as the one of the project
>> itself, i.e. when releasing libguestfs-x.y.z, we publish guestfs-rs-x.y.z to
2019 Jul 08
2
Re: [PATCH] Add Rust bindings
On Mon, Jul 08, 2019 at 10:04:57AM +0100, Richard W.M. Jones wrote:
>On Mon, Jul 08, 2019 at 10:49:55AM +0200, Martin Kletzander wrote:
>> On Mon, Jul 08, 2019 at 10:10:10AM +0200, Pino Toscano wrote:
>> >On Saturday, 6 July 2019 13:03:24 CEST Martin Kletzander wrote:
>> >>Just one thing, the Cargo.toml includes a version under which the crate would be
>>
2020 Apr 23
2
Re: [PATCH nbdkit v2] Add the ability to write plugins in golang.
On Tue, Apr 21, 2020 at 05:07:43PM +0100, Daniel P. Berrangé wrote:
> On Tue, Apr 21, 2020 at 11:44:59AM +0100, Richard W.M. Jones wrote:
> > Thanks: Dan Berrangé
> >
> > XXX UNFINISHED:
> >
> > - Is using uintptr for the handle a good idea? Plugins must return
> > something != 0. In other languages we would allow plugins to
> > return an
2023 Oct 10
5
[PATCH libnbd 0/4] Miscellaneous Rust cleanups
Add an overview libnbd-rust(3) man page pointing to the real
documentation. This is like OCaml & Golang.
When reviewing the real rustdocs I noticed they basically converted
the man pages into plain text, resulting in lots of problems such as
internal links not working, no `code` annotations, etc. So I wrote a
simple POD to rustdoc translator. It is by no means perfect, but it
fixes many of
2023 Mar 01
7
[nbdkit PATCH 0/5] ci: Get to green status on FreeBSD and MacOS
I took the easy route of crippling what I couldn't get working, on the
grounds that partial coverage is better than none now that we have
Cirrus CI checking commits on additional platforms.
This series got me to a green checkmark:
https://gitlab.com/ebblake/nbdkit/-/pipelines/793156983
but depends on an as-yet uncommitted patch in libvirt-ci:
2019 Jul 02
0
[PATCH 01/12] Rust bindings: Add Rust bindings
From: Hiroyuki_Katsura <hiroyuki.katsura.0513@gmail.com>
---
Makefile.am | 4 ++++
configure.ac | 3 +++
generator/Makefile.am | 3 +++
generator/bindtests.ml | 3 +++
generator/bindtests.mli | 1 +
generator/main.ml | 5 +++++
generator/rust.ml | 34 ++++++++++++++++++++++++++++++++++
generator/rust.mli | 19 +++++++++++++++++++
2019 Aug 16
7
[nbdkit PATCH 0/2] rust: Implement some missing v2 callbacks
Similar to what I just did for OCaml (this IS an API break, requiring
recompilation of any existing Rust plugin), and done because I want to
add fast_zero support to both languages as part of my upcoming fast
zero series.
Figuring out how to get extents working was hard enough that I punted
that, still.
Eric Blake (2):
rust: Implement can_cache
rust: Add support for dynamic .thread_model