Show
Ignore:
Timestamp:
03/23/09 21:38:08 (15 years ago)
Author:
bhilburn
Message:

CE_Info didn't make sense anymore since it was really describing the
entire radio; fixed.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vtcross/trunk/src/shell/cr_shell.cpp

    r181 r195  
    4040void  
    4141print_current_config(Utility* uList[], Parameter* pList[], \ 
    42         Observable* oList[], CE_Info* ce_info) 
    43 { 
    44         for(size_t i = 0; i < ce_info->numUtilities ; i++) { 
     42        Observable* oList[], Radio_Info* radio_info) 
     43{ 
     44        for(size_t i = 0; i < radio_info->numUtilities ; i++) { 
    4545        LOG("Shell:: Utility: %s\n\tUnits: %s\n\tGoal: %s\n\tTarget: %f\n", \ 
    4646                uList[i]->name.c_str(), uList[i]->units.c_str(), \ 
     
    4848        } 
    4949 
    50         for(size_t i = 0; i < ce_info->numParameters; i++) { 
     50        for(size_t i = 0; i < radio_info->numParameters; i++) { 
    5151            LOG("Shell:: Radio Operation Profile has been sucessfully sent.\n"); 
    5252        LOG("Shell:: Parameter: %s\n\tUnits: %s\n\tMin: %f\n\t", \ 
     
    6161        } 
    6262         
    63     for(size_t i = 0; i < ce_info->numObservables; i++) { 
     63    for(size_t i = 0; i < radio_info->numObservables; i++) { 
    6464                LOG("Observable: %s\n", oList[i]->name.c_str()); 
    6565 
     
    7979int32_t 
    8080parse_ce_config(TiXmlDocument* doc, Utility* u[], Parameter* p[], \ 
    81         Observable* o[], CE_Info* ce_info) 
     81        Observable* o[], Radio_Info* radio_info) 
    8282{ 
    8383 
     
    128128        } 
    129129 
    130         ce_info->numUtilities = item_count;      
    131         LOG("Initialize:: Parsed %d utilities.\n", ce_info->numUtilities); 
     130        radio_info->numUtilities = item_count;   
     131        LOG("Initialize:: Parsed %d utilities.\n", radio_info->numUtilities); 
    132132 
    133133        item_count = 0; 
     
    176176        } 
    177177 
    178         ce_info->numObservables = item_count;    
    179         LOG("Initialize:: Parsed %d observables.\n", ce_info->numObservables); 
     178        radio_info->numObservables = item_count;         
     179        LOG("Initialize:: Parsed %d observables.\n", radio_info->numObservables); 
    180180 
    181181        pElem = hRoot.FirstChild("parameters").Element(); 
     
    240240        } 
    241241 
    242         ce_info->numParameters = item_count; 
    243         LOG("Initialize:: Parsed %d parameters.\n", ce_info->numParameters); 
     242        radio_info->numParameters = item_count; 
     243        LOG("Initialize:: Parsed %d parameters.\n", radio_info->numParameters); 
    244244 
    245245        return 1; 
     
    249249void  
    250250LoadCEConfiguration(int32_t socketfd,Utility* uList[], Parameter* pList[], \ 
    251         Observable* oList[], CE_Info* ce_info) 
     251        Observable* oList[], Radio_Info* radio_info) 
    252252{ 
    253253        int32_t n,i,j; 
     
    260260        // utilities 
    261261        // Send number of utilities 
    262         sprintf(counter,"%d",ce_info->numUtilities); 
     262        sprintf(counter,"%d",radio_info->numUtilities); 
    263263        SendMessage(socketfd,counter); 
    264264        // send utility  
    265     for(i = 0; i < ce_info->numUtilities; i++) { 
     265    for(i = 0; i < radio_info->numUtilities; i++) { 
    266266                SendMessage(socketfd, uList[i]->name.c_str()); 
    267267                SendMessage(socketfd, uList[i]->units.c_str()); 
     
    272272 
    273273        // parameters 
    274     sprintf(counter,"%i",ce_info->numParameters); 
     274    sprintf(counter,"%i",radio_info->numParameters); 
    275275        SendMessage(socketfd,counter); 
    276         for(i = 0; i < ce_info->numParameters; i++) { 
     276        for(i = 0; i < radio_info->numParameters; i++) { 
    277277                SendMessage(socketfd,pList[i]->name.c_str()); 
    278278                SendMessage(socketfd,pList[i]->units.c_str()); 
     
    293293 
    294294    // observables 
    295         sprintf(counter,"%i",ce_info->numObservables); 
     295        sprintf(counter,"%i",radio_info->numObservables); 
    296296        SendMessage(socketfd,counter); 
    297         for(i = 0; i < ce_info->numObservables; i++) { 
     297        for(i = 0; i < radio_info->numObservables; i++) { 
    298298                SendMessage(socketfd,oList[i]->name.c_str()); 
    299299                 
     
    351351 
    352352int32_t  
    353 RequestPolicyValidation(Parameter * pList[], CE_Info *ce_info) 
     353RequestPolicyValidation(Parameter * pList[], Radio_Info *radio_info) 
    354354{ 
    355355        char counter[55]; 
     
    358358    char* control_msg = "val"; 
    359359     
    360     int32_t socketfd = ce_info->policy_socket; 
     360    int32_t socketfd = radio_info->policy_socket; 
    361361 
    362362    // Control message that validation request is coming 
     
    366366 
    367367        // Send parameter information  
    368     sprintf(counter,"%i",ce_info->numParameters); 
     368    sprintf(counter,"%i",radio_info->numParameters); 
    369369        SendMessage(socketfd,counter); 
    370         for(i = 0; i < ce_info->numParameters; i++) { 
     370        for(i = 0; i < radio_info->numParameters; i++) { 
    371371                SendMessage(socketfd,pList[i]->name.c_str()); 
    372372                SendMessage(socketfd,pList[i]->units.c_str()); 
     
    389389RequestCEOptimization(int32_t sockfd, Utility *uList[],  
    390390        Parameter *pList[], Observable *oList[], 
    391         CE_Info *ce_info) 
     391        Radio_Info *radio_info) 
    392392{ 
    393393    char buffer[256]; 
     
    398398    /* 
    399399    SendMessage(sockfd,"request");  
    400     for (i = 0; i < ce_info->numObservables; i++){ 
     400    for (i = 0; i < radio_info->numObservables; i++){ 
    401401        SendMessage(sockfd,..); 
    402402    } 
     
    404404 
    405405    // Receive optimized values from the Cognitive Engine  
    406     for (i = 0; i < ce_info->numParameters; i++){ 
     406    for (i = 0; i < radio_info->numParameters; i++){ 
    407407        bzero(buffer,256); 
    408408        ReadMessage(sockfd,buffer); 
     
    413413 
    414414    // If policy engine is connect, validate new values 
    415     if(ce_info->policy_engine == 1) { 
     415    if(radio_info->policy_engine == 1) { 
    416416 
    417417        printf("Cognitive Radio:: Found Policy Engine!\n"); 
    418418        printf("Cognitive Radio:: Validating parameters with Policy Engine\n\n"); 
    419         RequestPolicyValidation(pList,ce_info);  
     419        RequestPolicyValidation(pList,radio_info);  
    420420        printf("Cognitive Radio:: Done\n\n"); 
    421421 
     
    429429RunSimulator(int32_t socketfd, Utility * uList[],  
    430430        Parameter * pList[], Observable * oList[],  
    431         CE_Info * ce_info) { 
     431        Radio_Info * radio_info) { 
    432432         
    433433        float **past_exp; 
     
    435435 
    436436        // Set fake current environment params = current environment 
    437         RequestCEOptimization(socketfd, uList, pList, oList, ce_info); 
     437        RequestCEOptimization(socketfd, uList, pList, oList, radio_info); 
    438438 
    439439        // Act like we are updating the hardware tranmission settings 
     
    446446 
    447447void  
    448 InitializePE(int32_t socket, CE_Info * ce_info)  
     448InitializePE(int32_t socket, Radio_Info * radio_info)  
    449449{ 
    450450    // Policy Engine is connected 
    451451    // Set global policy engine value to 1 
    452     ce_info->policy_engine = 1; 
    453     ce_info->policy_socket = socket; 
     452    radio_info->policy_engine = 1; 
     453    radio_info->policy_socket = socket; 
    454454 
    455455    return; 
     
    458458void  
    459459InitializeCE(int32_t socketfd, Utility* uList[], Parameter* pList[], \ 
    460         Observable* oList[], CE_Info* ce_info)  
    461 { 
    462         LoadCEConfiguration(socketfd, uList, pList, oList, ce_info); 
     460        Observable* oList[], Radio_Info* radio_info)  
     461{ 
     462        LoadCEConfiguration(socketfd, uList, pList, oList, radio_info); 
    463463         
    464464    // cr experience 
     
    466466        int32_t num_cols; 
    467467    // get number of columns 
    468     num_cols = ce_info->numUtilities + ce_info->numParameters; 
    469     num_cols = num_cols + ce_info->numObservables; 
     468    num_cols = radio_info->numUtilities + radio_info->numParameters; 
     469    num_cols = num_cols + radio_info->numObservables; 
    470470    num_cols = num_cols + 1;    // overall utility 
    471471    int32_t num_rows = 2; 
     
    496496    UpdateCEExperience(socketfd, num_rows, num_cols, past_exp);  
    497497 
    498         RunSimulator(socketfd, uList, pList, oList, ce_info); 
     498        RunSimulator(socketfd, uList, pList, oList, radio_info); 
    499499} 
    500500 
     
    502502void  
    503503HandleTCPClient(int32_t socketFD, Utility* uList[], Parameter* pList[], \ 
    504         Observable* oList[], CE_Info* ce_info)  
     504        Observable* oList[], Radio_Info* radio_info)  
    505505{ 
    506506    char buffer[256]; 
     
    513513 
    514514    if(strcmp(buffer,"register_engine_cognitive") == 0)  
    515             InitializeCE(socketFD, uList, pList, oList, ce_info); 
     515            InitializeCE(socketFD, uList, pList, oList, radio_info); 
    516516 
    517517    if(strcmp(buffer,"register_engine_policy") == 0) 
    518             InitializePE(socketFD, ce_info); 
     518            InitializePE(socketFD, radio_info); 
    519519 
    520520    if(strcmp(buffer,"optimize") == 0) 
    521             RunSimulator(socketFD, uList, pList, oList, ce_info); 
     521            RunSimulator(socketFD, uList, pList, oList, radio_info); 
    522522         
    523523    // TODO why aren't we doing this anymore? 
     
    528528int32_t  
    529529StartServers(Utility* uList[], Parameter* pList[], Observable* oList[], \ 
    530         CE_Info* ce_info) 
     530        Radio_Info* radio_info) 
    531531{ 
    532532    int32_t * servSock;  
     
    632632                            } 
    633633                             
    634                             HandleTCPClient(new_sd, uList, pList, oList, ce_info); 
     634                            HandleTCPClient(new_sd, uList, pList, oList, radio_info); 
    635635                            FD_SET(new_sd,&sockSet); 
    636636                            if(new_sd > maxDescriptor)  
     
    641641                         
    642642                        printf("Request on already open descriptor.\n\n"); 
    643                         HandleTCPClient(port, uList, pList, oList, ce_info); 
     643                        HandleTCPClient(port, uList, pList, oList, radio_info); 
    644644 
    645645                    } 
     
    671671        Parameter * pList[10]; 
    672672        Observable * oList[10]; 
    673         struct CE_Info *ce_info; 
     673        struct Radio_Info *radio_info; 
    674674 
    675675    if((fd = open("/dev/zero", O_RDWR)) == -1) 
    676676            return 1; 
    677677 
    678     ce_info = (struct CE_Info *)mmap(0,sizeof(CE_Info),PROT_READ|PROT_WRITE,MAP_SHARED,fd,0); 
     678    radio_info = (struct Radio_Info *)mmap(0,sizeof(Radio_Info),PROT_READ|PROT_WRITE,MAP_SHARED,fd,0); 
    679679 
    680680    close(fd); 
     
    696696 
    697697        cout << "\n\nInitialize:: Attemping to parse " << pFilename << "." << endl; 
    698         parse_ce_config( &doc , uList, pList, oList, ce_info); 
     698        parse_ce_config( &doc , uList, pList, oList, radio_info); 
    699699        cout << "Initialize:: Configuration file parsing completed.\n" << endl; 
    700700 
    701     //print_current_config(uList, pList, oList, &ce_info); 
     701    //print_current_config(uList, pList, oList, &radio_info); 
    702702         
    703    StartServers(uList, pList, oList, ce_info); 
     703   StartServers(uList, pList, oList, radio_info); 
    704704   return 1; 
    705705}