Various IO, vio for short, is a light-weight, modular, protocol independent IO interface replacing your event loop and state machine with callback functions being C10k ready. It is completely event based making use of C++11 function handlers leading to compact, well arranged user application code. It features time based events to provide an easy to use full-duplex timeout and keepalive mechanism complementing its various implementations (raw, signal, timer, pair, file, fifo, uds, uart, tcp...