vafra
13-05-2009, 10:13
Chi ci puņ aiutare a capire cosa signifca questo codice? Grazie!!!
case START_HANDOVER:
#ifdef DEBUG
cout << "Gestione Start HandOver: " << ep->gettime() << " utente: " << ( ( HandOverEvent * ) ep )->getuser()->getid() << endl;
#endif // DEBUG
infos.increase_handover_requests ( ( ( HandOverEvent * ) ep )->getuser()->getservice() );
rate = userprofile[ ( ( ( HandOverEvent* ) ( ep ) )->getuser()->getservice() ) ];
switch ( ( ( HandOverEvent* ) ( ep ) )->getuser()->getservice() )
{
case PHONE:
if ( micro[ ( ( HandOverEvent * ) ep )->new_microid() ]->res_verify ( DEDICATED, DOWNLINK, rate,PHONE, raggio_cella ) ) //controllare raggio_cella
{
if ( micro[ ( ( HandOverEvent* ) ep )->old_microid() ]->res_deallocate ( DEDICATED,DOWNLINK,rate,PHONE, ( ( HandOverEvent* ) ( ep ) )->getuser()) )
{
if ( micro[ ( ( HandOverEvent * ) ep )->new_microid() ]->res_allocate ( DEDICATED, DOWNLINK, rate,PHONE, ( ( HandOverEvent* ) ( ep ) )->getuser()) )
{
( ( HandOverEvent* ) ( ep ) )->getuser()->set_position ( globrand->uniformExtract() *raggio_cella, globrand->uniformExtract() *360 );
infos.increase_handover_success ( PHONE );
globgen.startHandOver ( ep,true );
}
}
}
else
{
globgen.endHandOver ( ep,true );
}
break;
default:
cout<<"Only PHONE can request HandOver ! "<<endl;
break;
}
break;
case START_HANDOVER:
#ifdef DEBUG
cout << "Gestione Start HandOver: " << ep->gettime() << " utente: " << ( ( HandOverEvent * ) ep )->getuser()->getid() << endl;
#endif // DEBUG
infos.increase_handover_requests ( ( ( HandOverEvent * ) ep )->getuser()->getservice() );
rate = userprofile[ ( ( ( HandOverEvent* ) ( ep ) )->getuser()->getservice() ) ];
switch ( ( ( HandOverEvent* ) ( ep ) )->getuser()->getservice() )
{
case PHONE:
if ( micro[ ( ( HandOverEvent * ) ep )->new_microid() ]->res_verify ( DEDICATED, DOWNLINK, rate,PHONE, raggio_cella ) ) //controllare raggio_cella
{
if ( micro[ ( ( HandOverEvent* ) ep )->old_microid() ]->res_deallocate ( DEDICATED,DOWNLINK,rate,PHONE, ( ( HandOverEvent* ) ( ep ) )->getuser()) )
{
if ( micro[ ( ( HandOverEvent * ) ep )->new_microid() ]->res_allocate ( DEDICATED, DOWNLINK, rate,PHONE, ( ( HandOverEvent* ) ( ep ) )->getuser()) )
{
( ( HandOverEvent* ) ( ep ) )->getuser()->set_position ( globrand->uniformExtract() *raggio_cella, globrand->uniformExtract() *360 );
infos.increase_handover_success ( PHONE );
globgen.startHandOver ( ep,true );
}
}
}
else
{
globgen.endHandOver ( ep,true );
}
break;
default:
cout<<"Only PHONE can request HandOver ! "<<endl;
break;
}
break;