You can buy this project and download/modify it how often you want.
request(1) request(3) create addListener() subscribe() cancel() removeListener() source sink ... multithreaded