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

Reply via email to