1 |
//============================================================================ |
//============================================================================ |
2 |
// $Id: PacketSemanticAnalyzer.cpp,v 1.43 2008-04-01 13:24:06 messineo Exp $ |
// $Id: PacketSemanticAnalyzer.cpp,v 1.5 2009/07/30 08:16:20 mocchiut Exp $ |
3 |
// Description : |
// Description : |
4 |
//============================================================================ |
//============================================================================ |
5 |
#include "PacketSemanticAnalyzer.h" |
#include "PacketSemanticAnalyzer.h" |
9 |
|
|
10 |
extern unsigned long int step_pkt_number; |
extern unsigned long int step_pkt_number; |
11 |
extern unsigned long int step_pkt_obt; |
extern unsigned long int step_pkt_obt; |
12 |
extern long max_pkt_number; |
extern unsigned long int max_pkt_number; |
13 |
extern long max_pkt_obt; |
extern unsigned long int max_pkt_obt; |
14 |
extern bool is_new_route; |
extern bool is_new_route; |
15 |
extern bool do_cont_check; |
extern bool do_cont_check; |
16 |
|
|
60 |
//all the check can also be done using pamela::techmodel::EventReader* reader; |
//all the check can also be done using pamela::techmodel::EventReader* reader; |
61 |
//PacketUser::getInstance().reader->PKT_UnpackPscuHeader(hpamPkt); |
//PacketUser::getInstance().reader->PKT_UnpackPscuHeader(hpamPkt); |
62 |
//std::cout<<PacketUser::getInstance().reader->Header->GetPscuHeader()->Print()<<std::endl; |
//std::cout<<PacketUser::getInstance().reader->Header->GetPscuHeader()->Print()<<std::endl; |
63 |
//reader->Header->GetCounter()->PrintCounters(); |
//reader->Header->GetCounter()->PrintCounters(); |
64 |
//const PacketType* type = reader->Header->GetPscuHeader()->GetPacketType(); |
//const PacketType* type = reader->Header->GetPscuHeader()->GetPacketType(); |
65 |
//int len= reader->Header->GetPscuHeader()->GetPacketLenght(); |
//int len= reader->Header->GetPscuHeader()->GetPacketLenght(); |
66 |
//if(reader){delete reader; reader = NULL;} |
//if(reader){delete reader; reader = NULL;} |
117 |
long int delta_pt; |
long int delta_pt; |
118 |
bool cons=true; |
bool cons=true; |
119 |
|
|
120 |
//TODO check here ... MARCO |
//TODO check here ... |
121 |
//USE ONLY PKT_NUMBER and not the OBT ... |
//USE ONLY PKT_NUMBER and not the OBT ... |
122 |
//correct value is step_pkt_number = 5 and step_pkt_obt =0 |
//correct value is step_pkt_number = 5 and step_pkt_obt =0 |
123 |
delta_pc = pkt_number-last_pkt_number; |
delta_pc = pkt_number-last_pkt_number; |
124 |
|
|
125 |
if((step_pkt_number==0)|| |
if((step_pkt_number==0)|| |
126 |
((delta_pc>0)&&(delta_pc<=step_pkt_number)) || |
((delta_pc>0)&&(delta_pc<=(long long int)step_pkt_number)) || |
127 |
((delta_pc<0)&&(-delta_pc>=(max_pkt_number-step_pkt_number)))//delta_pc < 0 et pkt_number small and last_pkt_number big |
((delta_pc<0)&&(-delta_pc>=(long long int)(max_pkt_number-step_pkt_number)))//delta_pc < 0 et pkt_number small and last_pkt_number big |
128 |
) |
) |
129 |
{ |
{ |
130 |
//cons=true; |
//cons=true; |
132 |
|
|
133 |
//delta_pt=0 is OK |
//delta_pt=0 is OK |
134 |
if((step_pkt_obt==0)|| |
if((step_pkt_obt==0)|| |
135 |
((delta_pt>=0)&&(delta_pt<=step_pkt_obt)) || |
((delta_pt>=0)&&(delta_pt<=(long long int)step_pkt_obt)) || |
136 |
((delta_pt<0)&&(-delta_pt>=(max_pkt_obt-step_pkt_obt)))//delta_pt < 0 et pkt_obt small and last_pkt_obt big |
((delta_pt<0)&&(-delta_pt>=(long long int)(max_pkt_obt-step_pkt_obt)))//delta_pt < 0 et pkt_obt small and last_pkt_obt big |
137 |
) |
) |
138 |
{ |
{ |
139 |
cons=true; |
cons=true; |