For a long time the number of reimplementation of serial port reading in player has bugged me. Here is my proposed solution...

1) create a serial port driver which provides the opaque interface and various serial port configurations as properties
2) gradually update drivers to use an opaque driver for their input.
3) also write file and network stream data provides (file one is particularly handy for testing without the required hardware)

One lot of the IO reading which is fully featured, and bugs will be fixed in one place
Easier to test/unit test exotic hardware
flexibility over source of data (i.e. serial to ethernet devices)
More consistent config between different drivers

Slightly more latency (should be minimal within a single server)
Slightly more complex config files
Rewriting lots of code.

Any comments?

This email is intended for the addressee only and may contain privileged and/or confidential information