Hey all, I'm helping some people fix up a C# app that does serial port communication with a custom tool. Right now everything runs on the same thread.

I saw that C# has support for asynchronous I/O for streams, but I don't see a stream class for serial port I/O (the mono project seems to be implementing a SerailPortStream class but I don't see anything similar in the official docs).

For those of you familiar with C#, do you think it would be easier/better/superior/funnier to wrap the serial I/O in a stream class in order to take advantage of the built-in asynch stuff, or create and manage the worker thread to do the I/O?

and/or does anyone know of some existing async serial port I/O library?

My knowledge of C# is limited to what it stole from Java and C++