digitalmars.D.announce - =?UTF-8?B?4oiFTVFE?= messaging library v1.0 released
- Lars T. Kyllingstad (26/26) Aug 16 2015 I am happy to announce the (somewhat overdue) release of ∅MQD
- Nick Sabalausky (2/2) Aug 16 2015 Cool. I haven't actually used ZeroMQ yet, but it's something I've had my...
- Lars T. Kyllingstad (11/13) Aug 16 2015 If you want to look into it, I heartily recommend the ZeroMQ
- Walter Bright (3/4) Aug 18 2015 https://www.reddit.com/r/programming/comments/3hgg00/mqd_d_library_for_z...
- Lars T. Kyllingstad (6/11) Aug 20 2015 After the present thread didn't garner much attention the first
- Suliman (3/3) Aug 18 2015 Lars, did you thought about full port? I read post of etcimon
- Laeeth Isharc (10/13) Aug 19 2015 It's less work to maintain wrappers than full port, I would
- Lars T. Kyllingstad (16/19) Aug 20 2015 I considered it, yes, but it is a *lot* more work, and I think
- Laeeth Isharc (6/25) Aug 21 2015 I was just looking at nanomsg source the other day, wondering
- =?iso-8859-1?Q?Robert_M._M=FCnch?= (7/13) Aug 21 2015 You may want to take a look at BEEP as well. IMO one of the most
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.
Aug 16 2015
Cool. I haven't actually used ZeroMQ yet, but it's something I've had my eye on.
Aug 16 2015
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
Aug 16 2015
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.
Aug 18 2015
On Tuesday, 18 August 2015 at 19:35:56 UTC, Walter Bright wrote:On 8/16/2015 2:22 AM, Lars T. Kyllingstad wrote: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. :( LarsI 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.
Aug 20 2015
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.
Aug 18 2015
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.It's less work to maintain wrappers than full port, I would think, no? I am in awe of etcimon's accomplishments (not just with this), as with several others in the community here. There are some stiff security audit requirements to prudently use crypto code in production (just look back on headlines from past few years to see why), and I hope we can meet these at some stage with botan port. I guess should be easier for D code than C++ if written idiomatically ?
Aug 19 2015
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
Aug 20 2015
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: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.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
Aug 21 2015
On 2015-08-21 05:52:40 +0000, 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
Aug 21 2015