I wanted to announce the first tagged version[0] of native D MQTT
client library for vibe-d.
It's just the first release so there are features missing, but
hopefully with community help, they will be there soon.
It's tested against RabbitMQ[1] message broker.
I wanted it to be as lightweight as possible, so it has no other
direct dependencies but vibe-d.
There are already mqttd broker implementation by Atila Nevens[2]
and his cerealed serializer I know of. Actually they were both
helpfull resources - so thanks for that.
Main differences are:
- messages are structs not classes - avoid GC as much as possible
- focus on the client side
- serialization is done simply, just to work with defined
messages (not as a generic serialization) with range interfaces -
speed is on par with msgpack-d[3]
- hopefully clean easily understandable code with a lot of
comments in it to make it easier for contributors
- supports the latest MQTT protocol - 3.1.1
I still consider myself as a D rookie, so there are surely places
which can be done better, more D idiomatic way. You are welcome
to point me to them or even create pull requests.
[0] http://code.dlang.org/packages/vibe-mqtt
[1] https://www.rabbitmq.com/
[2] http://code.dlang.org/packages/mqtt
[3] https://github.com/msgpack/msgpack-d