Comments (4)
All of my mqtt services are currently using https://github.com/dustin/mqttd which is, as far as I can tell, more feature-complete than mosquitto. I had a few bugs with mosquitto that were bothering me, so I also wanted to see what it'd take to write such a thing. :)
I'm not entirely sure how adaptable that is. Perhaps it'd be possible to extract the state management. This is an area I'm not super familiar with. My code currently manages its data structures with STM and persist state with SQLite. It'd probably be possible to abstract the SQLite bits.
from mqtt-hs.
That's great!! I didn't find it last time I looked for an MQTT broker in Haskell. Can it be put on Hackage?
from mqtt-hs.
I'm not opposed to the idea. https://hackage.haskell.org/package/mqttd isn't taken. I think of it more as a program than anything, so it seems a bit odd to me. It'd be fantastic if someone else could benefit from the service, though.
24 hours of my home mqttd on an Orange Pi looks like this:
Fairly normal stuff. "actions" is mainly timed tasks for stuff like expiring sessions or retained messages (I use MQTT v5 retention timeouts a lot). "influx spool" is how much junk influxer has read and written to disk waiting for connectivity to return so it can stick it in a remote influxdb.
Are you able to try it without hackage and see if it looks remotely useful? It'd be good to get any obvious stuff fixed up before it publishing it. I've been relying on it for around a year now and have had fewer problems than I did with mosquitto. :)
Worth noting that it doesn't have built-in replication. I don't see that as a useful thing as mosquitto's built-in replication also didn't work well for me, so I wrote mqtt-bridge to handle that. Specifically, it properly bridges mqtt v5 properties including remaining expiration time on retained items.
from mqtt-hs.
I'll go ahead and close this since there's a working solution. Please let me know on https://github.com/dustin/mqttd if there's anything that can make that more useful.
(I've got two open issues that are there for theoretical correctness, but don't affect me)
from mqtt-hs.
Related Issues (15)
- Inbound alias resolution can sometimes fail due to ordering
- Async callbacks are problematic when receiving ordered messages HOT 6
- Use uri-bytestring instead of network-uri? HOT 2
- Fix package on nixpkgs HOT 2
- Connect To MQTT with a different Config for URI HOT 4
- Namings HOT 2
- Support over http proxies HOT 1
- Export `Filter` and `Topic` constructors HOT 1
- ReadMe contains missing #pragma directive line HOT 1
- Unable to parse packets from an EMQ X broker with QoS > 0 HOT 7
- 0.8.2.3 ? HOT 3
- Add to Stackage? HOT 4
- Thread blocked indefinitely HOT 4
- For TLS connections, how can I set TLSSettings? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mqtt-hs.