[nanomsg] Re: Scaproust 0.2.0 released (scalability protocols implementation in Rust)

  • From: Benoît Labaere <benoit.labaere@xxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Tue, 22 Nov 2016 21:41:54 +0100

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




Other related posts: