Re: ?MQD messaging library v1.0 released
On 2015-08-21 05:52:40 +, Lars T. Kyllingstad said: Recently, I've played around with the idea of making a pure D implementation of Scalable Protocols, which was created by Martin Sustrik, one of the original ZMQ authors. He invented SP and the reference implementation, nanomsg (http://nanomsg.org), partly as kind of a do-over for some things he considered design mistakes in ZMQ. SP seems cleaner and more principled than ZMQ in many ways. You may want to take a look at BEEP as well. IMO one of the most under-estimated approaches for doing network application protocols. -- Robert M. Münch http://www.saphirion.com smarter | better | faster
Re: ∅MQD messaging library v1.0 released
On Tuesday, 18 August 2015 at 19:35:56 UTC, Walter Bright wrote: On 8/16/2015 2:22 AM, Lars T. Kyllingstad wrote: I am happy to announce the (somewhat overdue) release of ∅MQD v1.0! https://www.reddit.com/r/programming/comments/3hgg00/mqd_d_library_for_zeromq_v10_released/ Lars, please post an AMA there. After the present thread didn't garner much attention the first couple of days, I kind of stopped following it, and didn't catch up on it until now. I guess that reddit thread is long dead now. :( Lars
Re: ∅MQD messaging library v1.0 released
On Friday, 21 August 2015 at 05:52:42 UTC, Lars T. Kyllingstad wrote: On Tuesday, 18 August 2015 at 20:44:25 UTC, Suliman wrote: Lars, did you thought about full port? I read post of etcimon about his Botan lib. He eventual decided to rewrite original lib from C++ to D to make code more easier maintainable. I considered it, yes, but it is a *lot* more work, and I think the wrapper solution turned out rather nice. The ZMQ API is pretty wrappable, and I don't expect it to become much more complex in the future either. The big changes these days seem to be in the ZMQ guys' own high-level wrapper library, CZMQ, rather than in ZMQ core. Recently, I've played around with the idea of making a pure D implementation of Scalable Protocols, which was created by Martin Sustrik, one of the original ZMQ authors. He invented SP and the reference implementation, nanomsg (http://nanomsg.org), partly as kind of a do-over for some things he considered design mistakes in ZMQ. SP seems cleaner and more principled than ZMQ in many ways. So many fun projects, so little time... Lars I was just looking at nanomsg source the other day, wondering just how much work it would be to rewrite in D. In the meantime if you fancy helping with the D wrapper, do let me know.
Re: ∅MQD messaging library v1.0 released
On Tuesday, 18 August 2015 at 20:44:25 UTC, Suliman wrote: Lars, did you thought about full port? I read post of etcimon about his Botan lib. He eventual decided to rewrite original lib from C++ to D to make code more easier maintainable. I considered it, yes, but it is a *lot* more work, and I think the wrapper solution turned out rather nice. The ZMQ API is pretty wrappable, and I don't expect it to become much more complex in the future either. The big changes these days seem to be in the ZMQ guys' own high-level wrapper library, CZMQ, rather than in ZMQ core. Recently, I've played around with the idea of making a pure D implementation of Scalable Protocols, which was created by Martin Sustrik, one of the original ZMQ authors. He invented SP and the reference implementation, nanomsg (http://nanomsg.org), partly as kind of a do-over for some things he considered design mistakes in ZMQ. SP seems cleaner and more principled than ZMQ in many ways. So many fun projects, so little time... Lars
Re: ∅MQD messaging library v1.0 released
On 8/16/2015 2:22 AM, Lars T. Kyllingstad wrote: I am happy to announce the (somewhat overdue) release of ∅MQD v1.0! https://www.reddit.com/r/programming/comments/3hgg00/mqd_d_library_for_zeromq_v10_released/ Lars, please post an AMA there.
Re: ∅MQD messaging library v1.0 released
Lars, did you thought about full port? I read post of etcimon about his Botan lib. He eventual decided to rewrite original lib from C++ to D to make code more easier maintainable.
∅MQD messaging library v1.0 released
I am happy to announce the (somewhat overdue) release of ∅MQD v1.0! ∅MQD is a D library that wraps the low-level C API of the ∅MQ (aka. ZeroMQ) messaging framework. It is a rather thin wrapper that maps closely to the C API, while providing modern D features that make the framework safer, easier and more pleasant to use. (In other words, ∅MQD is not just a plain C binding(*)!) Code: https://github.com/kyllingstad/zmqd Dub package: http://code.dlang.org/packages/zmqd API docs: https://kyllingstad.github.io/zmqd/zmqd_v1.0.html This version works with ∅MQ v4.x, and has 100% support for all ∅MQ v4.0 functionality. A few small ∅MQ 4.1 features are missing, but support for those will be added in an upcoming 1.1 release in the not-too-distant future. Before use, please have a look at the README, specifically the section A word of caution about the C library bindings. The ∅MQ guys have introduced some ABI incompatibilities in recent versions, so it it important that the D-to-C bindings match the library version you have installed. -Lars (*) If plain C bindings are what you want, check out Deimos/ZeroMQ: https://github.com/D-Programming-Deimos/ZeroMQ http://code.dlang.org/packages/zeromq ∅MQD depends on these bindings, so I try to keep them up to date with stable ∅MQ releases.
Re: ∅MQD messaging library v1.0 released
Cool. I haven't actually used ZeroMQ yet, but it's something I've had my eye on.
Re: ∅MQD messaging library v1.0 released
On Sunday, 16 August 2015 at 12:53:39 UTC, Nick Sabalausky wrote: Cool. I haven't actually used ZeroMQ yet, but it's something I've had my eye on. If you want to look into it, I heartily recommend the ZeroMQ Guide: http://zguide.zeromq.org/ In addition to being a comprehensive and well-written (entertaining, even) user's guide for ZeroMQ, it contains a lot of good information and advice on how to build distributed software systems in general. I have translated the examples for the first few chapters to D. You'll find them in the examples subdirectory of the ∅MQD repo. -Lars