Fix inefficiencies, causes write delays to drop
Did some experiments and measurements to conclude that these changes introduce less write delay. It is also likely that CPU load will be decreased with these changes.
On Windows it is important to note that a REALTIME priority level can be assigned to the process.
This is a continuation of #1490
I am doing this to improve the performance of SLCAN in Yakut (https://github.com/OpenCyphal/yakut) and Yukon (https://github.com/OpenCyphal/yukon).
With your changes the timeout parameter will do nothing.
Also, your title mentions write delays, but you change the read function?