Re: [capnproto] Re: NAT-Traversal

2023-09-01 Thread Jason Heeris
I (a random Rust/C Cap'n Proto user) started helping Tanguille on the Discord and then saw their emails here, so I'll reply here in case others find it in a search. > I needed to understand that capnp disables the use of the std lib Even though we accounted for what was happening here, just for f

Re: [capnproto] Re: NAT-Traversal

2023-09-01 Thread Tanguille Grootaert
I finally got it working. The main problem was that I didn't understand that the build file automated the capnpc process and that I needed to understand that capnp disables the use of the std lib. There are still some problems. The build seems to have worked when I use the absolute path, while

Re: [capnproto] Re: NAT-Traversal

2023-08-31 Thread Troy Farrell
It may help to read some of the examples for capnproto-rust: https://github.com/capnproto/capnproto-rust/tree/master/example Using "cargo build" with a build.rs file is the normal way to compile your .capnp files for Rust. -- You received this message because you are subscribed to the Google G

Re: [capnproto] Re: NAT-Traversal

2023-08-31 Thread 'Kenton Varda' via Cap'n Proto
When you run `capnp compile -orust`, the `capnp` tool will attempt to execute a binary `capnpc-rust` from your $PATH. This binary seems to be provided by the capnpc crate, but declaring a dependency on the crate probably does not automatically install it into your $PATH. You can either install the

Re: [capnproto] Re: NAT-Traversal

2023-08-31 Thread Tanguille Grootaert
That can't be the issue since my depedencies are containing the same ones as the examples in that repo, where `capnp` and `capnpc` are a part of. The code compiles so the dependencies are valid. Only thing I can think about is that the apt repo has outdated binaries for the Cap'n Proto compiler

Re: [capnproto] Re: NAT-Traversal

2023-08-31 Thread 'Kenton Varda' via Cap'n Proto
You need to install the Rust capnp plugin. I'm not very familiar with Rust but it looks like this is provided by the crate called `capnpc`. https://github.com/capnproto/capnproto-rust https://docs.rs/capnpc/latest/capnpc/ -Kenton On Thu, Aug 31, 2023 at 6:55 AM Tanguille Grootaert < tanguille.gr

Re: [capnproto] Re: NAT-Traversal

2023-08-31 Thread Tanguille Grootaert
Thanks for the explanation Kenton. Cool to see you're still so involved, it's an honor to get an answer from you. I am now trying to implement it in a little testproject with rust. However I can't seem to figure out how to install `capnpc-rust`. I installed both `capnproto` and `libcapnp-dev` v

Re: [capnproto] Re: NAT-Traversal

2023-08-30 Thread 'Kenton Varda' via Cap'n Proto
Hi Tanguille, Cap'n Proto is agnostic to the underlying byte transport. It can layer on top of any byte stream or datagram stream. In terms of the C++ implementation, you can write a custom implementation of the capnp::MessageStream interface in terms of any transport you'd like. For example, you