The intent with this PR is to clean up the ad-hoc interfaces and protocols for stream access and replace them with the standard python3.6+ asyncio framework. Not only are the patterns expressed in asyncio widely supported, but their use will require less code, likely have fewer bugs, and be simple to support multiple streams and TNCs.
python provides socket support for KISS-over-TCP out of the box and pyserial-asyncio appears to provide an upstream wrapper for cross platform serial access.
The intent with this PR is to clean up the ad-hoc interfaces and protocols for stream access and replace them with the standard python3.6+ asyncio framework. Not only are the patterns expressed in asyncio widely supported, but their use will require less code, likely have fewer bugs, and be simple to support multiple streams and TNCs.
python provides socket support for KISS-over-TCP out of the box and pyserial-asyncio appears to provide an upstream wrapper for cross platform serial access.