Why does Reticulum send an announcement upon starting? #423
-
I have a simple announce monitor that prints incoming announces for my app in real time I use for debugging. RNS prints a callback error message from this monitor program when I start a separate program. I've isolated the code in the separate program that triggers that error in the monitor, which is when the RNS IN destination is created in the programs constructor. If I exit the program before that I don't get the error. The error shows up tho when I exit right after this:
Why does RNS send an announce at this point? The error is: The variable app_data is 'None'. I have changed the monitor code to test for that now but I'm puzzled by why the announce is sent when the destination is created. I don't recall seeing this before now, but I suspect it has always been there to help RNS create a path for the destination. IIRC I've questioned the need for announces to be made, and the answer I got was the node won't be discoverable otherwise. If an automatic announce is sent on destination initialization as appears to be the case, that doesn't seem necessary. Was RNS changed last year to send an announce automatically when a destination is created? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
You have some sort of bug in the monitor code doing the printing. From the exception it sounds like something excepts a string (the "decode" method call), but gets a None (which is expected behaviour, and needs to be handled in your app).
RNS sends an announce from your app to the master RNS instance running on your system, so it will know what local application or shared instance client has your destination. The master instance has no way to snoop on other running processes, and the only way for it to know that you have actually spawned a new destination is if the respective app tells it about it. This happens automatically when creating a destination on a system running a shared instance. The announce is local only, and not propagated to any external interfaces, unless the application in question actually calls |
Beta Was this translation helpful? Give feedback.
-
Yes, as I mentioned that's fixed. Good to know such announce doesn't propagate outside of the machine. On another topic, did you ever resolve the issue you had with the Open Modems?, have you resumed shipping them? |
Beta Was this translation helpful? Give feedback.
You have some sort of bug in the monitor code doing the printing. From the exception it sounds like something excepts a string (the "decode" method call), but gets a None (which is expected behaviour, and needs to be handled in your app).
RNS sends an announce from your app to the master RNS instance running on your system, so it will know what local application or shared instance client has your destination. The master instance has no way …