No longer implicitly starting threads and tasks when instantiating objects. Instead, start() and stop() functions are added to the source and sink baseclasses to ensure more fine control over behaviour and lifetime of background loops.
To maintain backwards compability and ease of use, start() is lazily run when invoking send() or receive() function, respectively.
No longer implicitly starting threads and tasks when instantiating objects. Instead, start() and stop() functions are added to the source and sink baseclasses to ensure more fine control over behaviour and lifetime of background loops.
To maintain backwards compability and ease of use, start() is lazily run when invoking send() or receive() function, respectively.
Should be end to end tested before merging.