<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 31, 2014 at 10:28 AM, Andreas Schultz <span dir="ltr"><<a href="mailto:aschultz@tpip.net" target="_blank">aschultz@tpip.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">BTW: We have a small workshop with Pieter Hintjens on Feb, 10th in Berlin<br>
on exactly how to best support 0MQ in Erlang for our own projects.<br></blockquote><div><br></div><div>Great - say hello to Pieter from me</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Depending on the outcome, this will most likely mean that we are going to<br>
upgrade gen_zmq to the latest zmtp wire protocol.<br></blockquote><div><br></div><div>Brilliant - great news</div><div><br></div><div>/Joe</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><br>
Andreas<br>
<br>
----- Original Message -----<br>
><br>
><br>
><br>
</div><div class="im">> On Fri, Jan 31, 2014 at 8:12 AM, Joe Armstrong < <a href="mailto:erlang@gmail.com">erlang@gmail.com</a> > wrote:<br>
><br>
><br>
><br>
> Let me pitch a silly idea at you.<br>
><br>
> Why don't we just use gen_tcp and interact with 0MQ peers using the<br>
> wire-line protocol. Erlang is good at getting data in and out of sockets,<br>
> and good at parsing binary packets.<br>
><br>
</div>> This method is safe and efficient. I mailed  about this<br>
<div class="HOEnZb"><div class="h5">> and he thought this was perfectly doable.<br>
><br>
> I'm not suggesting implementing all the protocols and transports to start<br>
> with<br>
> just the REQ - REP protocols of TCP<br>
><br>
> Pieter suggest looking at<br>
><br>
> <a href="https://github.com/zeromq/zmtp" target="_blank">https://github.com/zeromq/zmtp</a><br>
> <a href="https://github.com/zeromq/libzmq/blob/master/tests/test_stream.cpp" target="_blank">https://github.com/zeromq/libzmq/blob/master/tests/test_stream.cpp</a><br>
><br>
> These implement the wire-line protocol on top of tcp rather than through the<br>
> 0mz library so its easier to see whats going on.<br>
><br>
> Now I haven't a clue if this is a silly idea or not - but a few hours<br>
> tinkering<br>
> should be enough to implement the REQ-REP protocols and make some performance<br>
> measurements - and that would tell me if it's worth implementing more<br>
> protocols<br>
> and transports.<br>
><br>
> The difficulty of this is not writing the code - but understanding the<br>
> wire-line protocol<br>
> but I think Pieter has done a good job here, there are a load of RFCs at the<br>
> 0MQ web site.<br>
><br>
> ( actually all I want to do is get Erlang talking to Julia - Julia speaks 0MQ<br>
> and I found that I<br>
> couldn't build the Erlang 0MQ bindings with the latest 0MQ - so I'm again<br>
> back to<br>
> "fixing stuff thats broken" in order to do what I want. I don't really want<br>
> to have to re-implement<br>
> the 0MQ wire-line protocol to do this - but it does seem easier than fixing<br>
> up the broken library<br>
> and maintaining it (I guess it's easier since I only need a fraction of the<br>
> entire protocol))<br>
><br>
> Comments<br>
><br>
> /Joe<br>
><br>
><br>
> gen_zmq was doing that but it wasn't update since a long time:<br>
><br>
> <a href="https://github.com/RoadRunnr/gen_zmq" target="_blank">https://github.com/RoadRunnr/gen_zmq</a><br>
><br>
> Maybe a good start?<br>
><br>
> - benoit<br>
><br>
><br>
><br>
><br>
><br>
> On Thu, Jan 30, 2014 at 10:58 PM, Garrett Smith < <a href="mailto:g@rre.tt">g@rre.tt</a> > wrote:<br>
><br>
><br>
><br>
> On Thu, Jan 30, 2014 at 3:13 PM, Joe Armstrong < <a href="mailto:erlang@gmail.com">erlang@gmail.com</a> > wrote:<br>
> > Is anybody working on upgrading the 0MQ libraries for erlang to<br>
> > the latest version of 0QM.<br>
><br>
> I would be tempted to upgrade them, but I've wanted to have an<br>
> external C port implementation of the 0MQ bindings for a while and so<br>
> created this:<br>
><br>
> <a href="https://github.com/gar1t/erlang-czmq" target="_blank">https://github.com/gar1t/erlang-czmq</a><br>
><br>
> In my three years of experience with the 0MQ bindings, it's been<br>
> (historically) very easy to crash the Erlang VM. For my applications,<br>
> speed will never justify the cost of taking an entire node down. The<br>
> CZMQ bindings I have here are quite slow relative to erlzmq2 (~ 5 - 10<br>
> times slower). I'm sure they can be made much faster, but my thinking<br>
> is that running multiple external ports could alleviate this.<br>
><br>
> Speed kills.<br>
><br>
> This code is not running in production, but it will be soon.<br>
><br>
> The CZMQ API in my opinion is the right target for new 0MQ bindings,<br>
> regardless of how they're implemented. Pieter Hintjen's rationale for<br>
> writing CZMQ is here:<br>
><br>
> <a href="https://github.com/zeromq/czmq#scope-and-goals" target="_blank">https://github.com/zeromq/czmq#scope-and-goals</a><br>
><br>
> Garrett<br>
><br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
<br>
</div></div><div class="HOEnZb"><div class="h5">--<br>
--<br>
Dipl. Inform.<br>
Andreas Schultz<br>
</div></div></blockquote></div><br></div></div>