I managed something that is (I think), very cool
It's not flashy, but basically I managed to write a simple MQTT client based on the Eclipse Paho library. It is an async sub/pub client that: 1. sends data it recieved on the topics it is subbed to to other processes via Unix Domain Sockets (UDS) with a custom message struct and 2. recieve messages from other processes via UDS and publish them on a topic.
There is some more cool stuff too, like the memory management is all made using Arena Allocators (Linear Allocators) and stack memory. This means that the program has a very predictable memory footprint and is very very fast, since the memory layout is cache-friendly.
It is not yet finished, there are a lot of debug statements and global variables that I would like to eliminate on the future, but alas classes are starting again soon, and I am moving this week, so I won't have much time for coding in the foreseeable future.
But it is mine, and I made it, and for someone who had not much more than Programming 101 - level experience with C a couple of weeks ago, this is really rewarding.
#C #programming #buildinpublic #Linux #MQTT #memory