Changeset 80

Show
Ignore:
Timestamp:
11/24/08 16:26:24 (16 years ago)
Author:
ahe
Message:

receive results from client

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vtcross/branches/trnewman/CR_shell/src/main_cognitive_radio.cpp

    r78 r80  
    2222        string goal; 
    2323        float target; 
     24    float value; 
    2425}; 
    2526struct Affect { 
     
    3536        float max; 
    3637        float step; 
     38    float value; 
    3739}; 
    3840 
     
    4143        Affect affection_list[10]; 
    4244        int numAffects; 
     45    float value; 
    4346}; 
    4447 
     
    5356                cout << "     Target: " << uList[i]->target << endl; 
    5457        } 
    55  
    5658 
    5759        for(i = 0; i < ce_info->numParameters; i++) { 
     
    6567                } 
    6668        } 
    67         for(i = 0; i < ce_info->numObservables; i++) { 
     69         
     70    for(i = 0; i < ce_info->numObservables; i++) { 
    6871                cout << "Observable:  " << oList[i]->name << endl; 
    6972                for(j = 0; j < oList[i]->numAffects; j++) { 
     
    270273        printf("Sending configuration to CE.\n"); 
    271274  
     275        // utilities 
    272276        // Send number of utilities 
    273277        sprintf(counter,"%d",ce_info->numUtilities); 
    274278        SendMessage(socketfd,counter); 
    275                  
    276         // utilities 
    277         for(i = 0; i < ce_info->numUtilities; i++) { 
     279        // send utility  
     280    for(i = 0; i < ce_info->numUtilities; i++) { 
    278281                SendMessage(socketfd,uList[i]->name); 
    279282                SendMessage(socketfd,uList[i]->units); 
     
    284287 
    285288        // parameters 
    286         sprintf(counter,"%i",ce_info->numParameters); 
     289    sprintf(counter,"%i",ce_info->numParameters); 
    287290        SendMessage(socketfd,counter); 
    288291        for(i = 0; i < ce_info->numParameters; i++) { 
     
    304307        } 
    305308 
    306         // observables 
     309    // observables 
    307310        sprintf(counter,"%i",ce_info->numObservables); 
    308311        SendMessage(socketfd,counter); 
     
    351354} 
    352355 
    353 void RunSimulator(int socketfd,Utility * uList[], Parameter * pList[], Observable * oList[], CE_Info * ce_info) { 
     356int UpdateRadioSettings(int sockfd, Utility *uList[],  
     357        Parameter *pList[], Observable *oList[], 
     358        CE_Info *ce_info) 
     359{ 
     360    char buffer[256]; 
     361    string message; 
     362    int i; 
     363    float var; 
     364 
     365    // utility 
     366    // numUtilities 
     367    bzero(buffer,256); 
     368    message.erase(); 
     369    ReceiveMessage(sockfd,message); 
     370    ce_info->numUtilities = atoi(message.c_str()); 
     371    printf("number of utilities: %d\n", ce_info->numUtilities); 
     372    for (i = 0; i < ce_info->numUtilities; i++){ 
     373        bzero(buffer,256); 
     374        message.erase(); 
     375        ReceiveMessage(sockfd,message); 
     376        var = atof(message.c_str()); 
     377        uList[i]->value = var; 
     378        printf("utility %s, value: %f\n",  
     379                uList[i]->name, uList[i]->value); 
     380    } 
     381     
     382    // paramter 
     383    // numparameters 
     384    /*bzero(buffer,256);*/ 
     385    message.erase(); 
     386    ReceiveMessage(sockfd,message); 
     387    ce_info->numParameters = atoi(message.c_str()); 
     388    printf("number of parameters: %d\n", ce_info->numParameters); 
     389    for (i = 0; i < ce_info->numParameters; i++){ 
     390        /*bzero(buffer,256);*/ 
     391        message.erase(); 
     392        ReceiveMessage(sockfd,message); 
     393        var = atof(message.c_str()); 
     394        pList[i]->value = var; 
     395        printf("parameter %s, value: %f\n",  
     396                pList[i]->name, pList[i]->value); 
     397    } 
     398 
     399    // observable 
     400    // numObservables 
     401    /*bzero(buffer,256); 
     402    ReceiveMessage(sockfd,buffer);*/ 
     403    message.erase(); 
     404    ReceiveMessage(sockfd,message); 
     405    ce_info->numObservables = atoi(message.c_str()); 
     406    printf("number of observables: %d\n", ce_info->numObservables); 
     407    for (i = 0; i < ce_info->numObservables; i++){ 
     408        /*bzero(buffer,256); 
     409        ReceiveMessage(sockfd,buffer);*/ 
     410        message.erase(); 
     411        ReceiveMessage(sockfd,message); 
     412        var = atof(message.c_str()); 
     413        oList[i]->value = var; 
     414        printf("observable %s, value: %f\n",  
     415                oList[i]->name, oList[i]->value); 
     416    } 
     417} 
     418 
     419void RunSimulator(int socketfd, Utility * uList[],  
     420        Parameter * pList[], Observable * oList[],  
     421        CE_Info * ce_info) { 
    354422 
    355423        // Set fake past environment -   
     
    360428 
    361429        // Act like we are updating the hardware tranmission settings 
    362         UpdateRadioSettings(); 
     430        UpdateRadioSettings(socketfd, uList, pList, oList, ce_info); 
    363431 
    364432        // Send back fake utility values 
     
    366434} 
    367435 
    368 void StartMessaging(int socketfd,Utility * uList[], Parameter * pList[], Observable * oList[], CE_Info * ce_info) { 
    369  
    370         LoadCEConfiguration(socketfd,uList, pList, oList, ce_info); 
    371  
    372         RunSimulator(socketfd,uList, pList, oList, ce_info); 
     436void StartMessaging(int socketfd, Utility * uList[], Parameter * pList[], Observable * oList[], CE_Info * ce_info) { 
     437 
     438        LoadCEConfiguration(socketfd, uList, pList, oList, ce_info); 
     439 
     440        RunSimulator(socketfd, uList, pList, oList, ce_info); 
    373441} 
    374442 
     
    400468 
    401469                // Begin parsing the messages 
    402                 StartMessaging(newsockfd,uList, pList, oList, ce_info); 
     470                StartMessaging(newsockfd, uList, pList, oList, ce_info); 
    403471        //} 
    404472        return 0;