Регулировка пропускной способности в C#

Я разрабатываю программу, которая постоянно отправляет поток данных в фоновом режиме, и я хочу позволить пользователю устанавливать ограничение и для загрузки и для предела загрузки.

Я читал на маркерном блоке и текучем блоке alghorhithms, и по-видимому последний, кажется, соответствует описанию, так как это не вопрос максимизации сетевой пропускной способности, а скорее быть максимально незаметным.

Я однако немного не уверен о том, как я реализовал бы это. Естественный подход должен расширить абстрактный Потоковый класс для создания простым расширить существующий трафик, но разве это не потребовало бы, чтобы участие дополнительных потоков отправило данные при одновременном получении (текучий блок)? Любые подсказки на других реализациях, которые делают то же, ценились бы.

Кроме того, хотя я могу изменить, сколько данных программа получает, как хорошо регулировка пропускной способности работает на уровне C#? Компьютер все еще получит данные и просто сохранит их, эффективно отменяя эффект регулировки, или они будут ожидать, пока я не попрошу получать больше?

Править: Я интересуюсь регулировкой и поступление и исходящие данные, где я не имею никакого контроля над противоположным концом потока.

17
задан Christian P. 16 December 2008 в 11:46
поделиться