and the event library is used to wake it back up when data is ready
But who is complete data-processing? There is some some thread that complete data reading or what?
As I understand it's not possible to read data without any thread because someone should do reading.