mosquitto
mosquitto copied to clipboard
Support QUIC
Hi Team,
Recently several mqtt over quic articles have been published. They are using their own custom broker/client or using different OSS projects for broker/client This patch is just my fun project, but support QUIC on both broker/client in single OSS project could be beneficial for researcher (and maybe industry)
This is initial implementation with msquic and disconnection takes 1 sec by design. I confirmed basic pub/sub works as bellows.
make utestmake testin test/lib with --quic options and config as bellows
how to run
$ # build and install
$ make binary -j8 WITH_QUIC=yes && sudo make install
$ # broker
$ mosquitto --config-file ./mosquitto.conf
$ # subscriber
$ mosquitto_sub -h 127.0.0.1 -t test/t1 -p 8883 --quic
$ # publisher
$ mosquitto_pub -h 127.0.0.1 -t test/t1 -m "testdata" -p 8883 --quic
mosquitto.conf could be for example
listener 8883 127.0.0.1
protocol quic
certfile $PATH_TO_MOSQUITTO/test/ssl/test-alt-ca.crt
keyfile $PATH_TO_MOSQUITTO/test/ssl/test-alt-ca.key
cafile $PATH_TO_MOSQUITTO/test/ssl/all-ca.crt
allow_anonymous true
- [x] Have you signed the Eclipse Contributor Agreement, using the same email address as you used in your commits?
- [x] Do each of your commits have a "Signed-off-by" line, with the correct email address? Use "git commit -s" to generate this line for you.
- [x] If you are contributing a new feature, is your work based off the develop branch?
- [ ] If you are contributing a bugfix, is your work based off the fixes branch?
- [x] Have you added an explanation of what your changes do and why you'd like us to include them?
- [ ] Have you successfully run
make testwith your changes locally?