gregoryv/tt - package provides components for writing mqtt-v5.0 clients and servers
$ go install github.com/gregoryv/tt/cmd/tt@latest
$ tt -h
Even though this repository provides a basic client/server(WIP) command it's main purpose is to provide capabilities for others to write their own clients depending on their situation.
NOTE! this module is still not ready for public use. I'm experimenting with the design, so major changes will occur.
This package uses the sibling package gregoryv/mq for encoding control packets on the wire.
The design focuses on decoupling each specific feature as much as possible. One example being the creation of a network connection is not enforced, which makes it easy to create inmemory clients and servers during testing.