Интегрированные сети ISDN


Таблица Типы SDES - часть 4


#include

double rtcp_interval(int members,

int senders,

double rtcp_bw,

int we_sent,

int packet_size,

int *avg_rtcp_size,

int initial)

{

/*

* Минимальное время между пакетами RTCP от данного узла (в секундах). Это время

* предотвращает группирование отчетов, когда в сессии участвует малое число

* участников. Это препятствует чрезмерному уменьшению интервалов межу отчетами.

*/

double const RTCP_MIN_TIME = 5.;

/*

* Доля полосы RTCP, которая должна быть поделена между активными участниками.

* (Эта доля была выбрана так, чтобы в типовой сессии с одним или двумя

* активными отправителями, вычисленный период посылки отчетов был примерно

* равен минимальному интервалу между отчетами. Доля получателя должна равняться

* 1 – доля отправителя.

*/

double const RTCP_SENDER_BW_FRACTION = 0.25;

double const RTCP_RCVR_BW_FRACTION = (1-RTCP_SENDER_BW_FRACTION);

/*

* Коэффициент преобразования (сглаживающая константа) для полосового

* фильтра, который используется при оценке среднего размера RTCP пакетов.

*/

double const RTCP_SIZE_GAIN = (1./16.);

double t; /* интервал */

double rtcp_min_time = RTCP_MIN_TIME;

int n; /* число участников, используемое при вычислении */

/*

* Самый первый вызов приложения использует вдвое меньшую

* минимальную задержку для ускорения оповещения, в то же время оставляя

* некоторое время до отчета для рэндомизации и получения информации

* о других источниках. Таким образом, установление корректного периода

* отчетов произойдет быстрее. Средний размер RTCP пакета

* устанавливается в начальный момент равным 128 октетам

* (предполагается, что все остальные генерируют SR вместо RR:

* 20 IP + 8 UDP + 52 SR + 48 SDES CNAME октетов).

*/



if (initial) {

rtcp_min_time /= 2;

*avg_rtcp_size = 128;

}

/*

* Если имелись активные отправители, надо им дать

* по крайней мере минимальную долю полосы RTCP.

* В противном случае все участники будут делить полосу RTCP поровну

*/

n = members;

if (senders > 0 && senders < members * RTCP_SENDER_BW_FRACTION) {



Начало  Назад  Вперед



Книжный магазин