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

  • From: Benoit Labaere <benoit.labaere@xxxxxxxxx>
  • To: nanomsg <nanomsg@xxxxxxxxxxxxx>
  • Date: Tue, 22 Nov 2016 12:30:50 +0000

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: