The packet msgNo field is a string, but is typically is an integer
counter to keep track of a specific packet id. The counter was
returning an int, but the packet.msgNo is a string. So, when trying to
delete a packet from the packet tracker, the key for accessing the
packet is the msgNo, which has to be a string. Passing an int, will
cause the packet tracker to not find the packet, and hence silently
fail.
This patch forces the msgNo counter to be a string.
Sometimes over KISS clients (RF), we can get duplicate packets
due to having many digipeters in range of the TNC that aprsd is
connected to. We will now filter out any dupe packets that aprsd
is still in the process of doing it's 3 acks.
This patch is the initial conversion of the custom config
and config file yaml format to oslo_config's configuration mechanism.
The resulting config format is now an ini type file.
The default location is ~/.config/aprsd/aprsd.conf
This is a backwards incompatible change. You will have to rebuild
the config file and edit it.
Also any aprsd plugins can now define config options in code and
add an setup.cfg entry_point definition
oslo_config.opts =
foo.conf = foo.conf:list_opts
This patch decouples sending a message from the internals of
the Packet classes. This allows the rest of the code to use
Packet objects as type hints in methods to enforce Packets
in the plugins.
The send method was moved to a single place in the threads.tx.send()
This patch reworks all the packet processing to use the new
Packets objects. Nuked all of the messaging classes.
backwards incompatible changes
all messaging.py classes are now gone and replaced by
packets.py classes