uhub is designed as a primarily single threaded event driven hub, primarily developed for Linux and Unix systems, but also supports Windows systems.
uhub maintains non-blocking connections to all users and routes and multiplexes ADC messages between the users. Each ADC message (struct adc_message) is refcounted, and each user has a send queue of messages to be sent.
Network event notification is achieved with epoll() on Linux, kqueue() on OSX/BSD, and a fallback select() for other systems.
Timer handling is low precision and low resolution which allows for constant time inserts and removals.