Module implementing sending to and from nonblocking streams and other sources.
Most useful when implementing sending of data from strings, files and other sources to a network connection. The module also supports generic bandwidth throttling.
Multiple Shuffler object can be created, each optionally with their own backend.
This makes it easier to use more than one CPU for pure data transmission, just have multiple backends each in their own thread, with their own shuffle object.
The state of an individual Shuffle object.