double DynVehApp::calculateStimulus(){
//remove old received messages
if(!recentMessageCount.empty()){
while((!recentMessageCount.empty()) && (recentMessageCount.front() < simTime().dbl() - pBandwidthLength)){
recentMessageCount.pop_front();
recentMessageSize.pop_front();
}
}
double totalBytesReceived = 0;
if(!recentMessageSize.empty()){
std::list<int>::iterator listIt;
for(listIt = recentMessageSize.begin(); listIt != recentMessageSize.end(); listIt++){
totalBytesReceived += (*listIt);
}
}
return std::max((( (double)1 - ( ((double)totalBytesReceived) / (double)pStimulusConstant) ) ),0.0d);
}