tcpexmachina / remy

403 stars 78 forks source link

Ratatouille Improvement #43

Closed kexinrong closed 8 years ago

kexinrong commented 8 years ago

Added ability to change RTT, and used drop-down menu to control the number of active (AIMD, RemyCC) senders in Ratatouille. The new control panel now looks like the following: screenshot from 2016-03-10 23 51 12

@keithw Ratatouille sometimes produces the following exception when user decreases RTT:

ratatouille: ./../src/delay.hh:30: void Delay::tick(NextHop&, const double&) [with NextHop = Receiver]: Assertion `std::get< 0 >( _queue.front() ) == tickno' failed.

The current implementation is not designed to handle decreased RTT ( e.g. Delay._queue might no longer be in increasing tickno order). I'm not sure what's a nice way to handle this. Maybe we can simply reset senders in this case?

keithw commented 8 years ago

Hmm! Is it still possible to turn on the first sender, then turn on a second sender, and then turn off the first sender?

kexinrong commented 8 years ago

No you can only turn off the second sender in this case. Hmm... I guess we should bring the checkboxes back to have full control of which senders to turn on/off.

keithw commented 8 years ago

Maybe the dropdown could just control the number of checkboxes shown?

kexinrong commented 8 years ago

Yeah that seems nicer that hardcoding 10 checkboxes.

keithw commented 8 years ago

If you've already done the work, great, but otherwise how about just adding a command-line nsrc=N option, and then making that many checkboxes?

Seems simplest, and I don't want you to have to spend a lot of time prettifying the UI.

keithw commented 8 years ago

Looks good except for those whitespace changes -- can you please amend and then happy to merge.