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

  • From: Garrett D'Amore <garrett@xxxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Tue, 22 Nov 2016 09:06:44 -0800

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: