That would not have been possible without your help and dedication to
both nanomsg and mango. So thanks a lot Garett !
On mar., 22 nov., 2016 at 6:06 , Garrett D'Amore <garrett@xxxxxxxxxx>
wrote:
I havent looked at this yet (not a rust user though the language looks interesting to me) but I am super excited that another language implementation of the wire protocols exists!
Sent from my iPhone
On Nov 22, 2016, at 4:30 AM, Benoit Labaere <benoit.labaere@xxxxxxxxx> wrote:
Thanks for your interest and enthousiasm.
When I started working on the current implementation, there was no such thing as future-rs or tokio but if you dare to have a look at the mess named "TODO.md", you'll see a mention in the 'vision' section. I'm convinced that having the async story based on future-rs is almost mandatory but I'm wondering how much it could fit in the exisiting design. Anyway I expect it to require a bit of upfront thinking, which I have no time for at the moment. But that definitely looks like a highly interesting topic.
Regarding the design and threading model I really need to write down something. In short : all IO happens in a single thread (reactor pattern), the user threads send commands to the event loop via a mio channel and do a blocking read on a regular rust channel, the event loop notifies completion of the operation via this channel.
It's a bit early for benchmarks, I'd rather focus on correctness for the moment, teach myself how to write a meaningful benchmark, and then only write it to publish its results.
Regards,
Benoît
Le mar. 22 nov. 2016 09:21, Dirkjan Ochtman <dirkjan@xxxxxxxxxx> a écrit :On Mon, Nov 21, 2016 at 11:11 PM, Benoit Labaere
<benoit.labaere@xxxxxxxxx> wrote:
> Scaproust v0.2.0 has just been released on crates.io.
> Scaproust is a 100% Rust implementation of Nanomsg.
It looks really awesome!
I was wondering, have you investigated working with futures/Tokio? I
looked at the design document in the source, but it's mostly about the
API. I would be interested in hearing about your choices of internals,
like threading model. Also curious if you've done any benchmarks.
Cheers,
Dirkjan