Doman
The main difference between Meshcore and Meshtastic is how telemetry is handled. In Meshcore to get telemetry the other party needs to request it, whereas in Meshtastic telemetry is sent in flood mode in configured intervals. That's why Meshtastic is better suited for (A)TAK [1]. But because Meshtastic sends telemetry anyway there is less and less airtime for chat messages, and it gets to the point where you can't talk to people. For small groups this is fine, for bigger groups/meshes this is no bueno.
[1] https://tak.gov/ - (A) stands for Android app.
And someone has already converted it to onnx format: https://huggingface.co/eschmidbauer/cohere-transcribe-03-202... - so it can be run on CPU instead of GPU.
[1] https://github.com/peteonrails/voxtype/blob/main/docs/WAYBAR...
True, better send twice than never.
> the client connects later than the server send
Server only responds, never sends anything.
> overwhelming the network
"broker" is handling it nicely
I strongly agree that zmq will not fit in every use case. Always search for best option.
Pseudocode:
Send msg to server
if socket timeout:
reinit socket and send again
Recv from server
if recv.msg != 'ok':
send again
else
remove msg from storage
One message has from few to few hundreds Kilobytes. Messages are stored and sent as custom binary data for better compression (better that protobuffs).
ZMQ takes complexity of raw tcp sockets away and this is what we needed it for. As much and as little.Author uses recent version of Python and Django and is building with You something useful.