Inheritance diagram for C_TrafficDistribPoisson:
Public Member Functions | |
C_TrafficDistribPoisson () | |
~C_TrafficDistribPoisson () | |
int | authorize_new_call () |
Definition at line 29 of file C_TrafficDistribPoisson.hpp.
|
authorize_new_call.
Implements C_TrafficModel. Definition at line 53 of file C_TrafficDistribPoisson.cpp. References C_TrafficModel::m_currentTrafficDuration, C_TrafficModel::m_desiredAverageRate, C_TrafficModel::m_sem_desired, C_TrafficModel::ms_setup_time, C_Semaphore::P(), StochasticLib1::Poisson(), C_TrafficModel::reset(), C_TrafficModel::update(), and C_Semaphore::V(). 00054 { 00055 long L_desiredAverageRate ; 00056 00057 float L_poissonMean; 00058 float L_poissonVal = 0.0; 00059 long L_DeltaSinceLastFuncCall; // ms 00060 00061 reset (); 00062 update (); 00063 00064 m_sem_desired->P(); 00065 L_desiredAverageRate = m_desiredAverageRate ; 00066 m_sem_desired->V(); 00067 00068 if (m_currentTrafficDuration <= ms_setup_time) { 00069 return (0); 00070 } 00071 00072 L_DeltaSinceLastFuncCall = m_currentTrafficDuration - m_LastFctCallTS; 00073 // L_DeltaSinceLastFuncCall = m_currentPeriodDuration ; 00074 L_poissonMean =( (float) ( (float) L_DeltaSinceLastFuncCall / (float) 1000.0) * 00075 (float) L_desiredAverageRate); 00076 L_poissonVal = m_sto->Poisson(L_poissonMean); 00077 00078 m_LastFctCallTS = m_currentTrafficDuration; 00079 00080 return ((int) L_poissonVal); 00081 00082 } /* end of authorize_new_call */
|