Full design doc here
- Add a new message, RateUpdate(newRate: Long) that ReceiverSupervisor handles in its endpoint
- Add a new method to ReceiverTracker
def sendRateUpdate(streamId: Int, newRate: Long): Unit
this method sends an asynchronous RateUpdate message to the receiver supervisor corresponding to streamId
- update the rate in the corresponding block generator.