У меня есть приложение, которое загружает файл в S3 Amazon, которое внутренне использует класс ThrottledStream для управления пропускной способностью. Я хочу дать пользователю возможность регулировать пропускную способность в процентах от 0 до 100%, поскольку клиент не понимает скорость передачи байтов. Управляемый поток принимает входной параметр как FileStream / Stream и бит / с (байт / бит в секунду). Как я могу отрегулировать значение бит / с на основе процента, установленного пользователем? У меня ограниченные знания о дросселировании, ваши предложения мне действительно помогут.

0
Haseena Parkar 5 Июн 2013 в 18:18
1
В этом нет смысла. 100% из чего ?
 – 
SLaks
5 Июн 2013 в 18:21
1
Вам нужно знать минимальный и максимальный бит / с, чтобы выполнить преобразование. Вы это знаете?
 – 
Mike Perrenoud
5 Июн 2013 в 18:25
Я не знаю минимального и максимального бит / с, следует ли мне рассчитывать его на основе текущей скорости полосы пропускания?
 – 
Haseena Parkar
6 Июн 2013 в 09:02

1 ответ

Лучший ответ

Вам нужно будет выбрать максимальное значение, например 100 Кбит / с, а затем установить скорость в процентах.

long bps = (long)(102400 * ((double)percent / 100.0);   
if (percent == 100)
   bps = ThrottledStream.Infinite;
ts = new ThrottledStream(originalDestinationStream, bps);

Я его не компилировал, но думаю, что-то в этом роде.

0
Richard 7 Июн 2013 в 23:55