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

client sends results to server

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vtcross/branches/trnewman/CR_engines/CBR/src/main_cognitive_engine.c

    r79 r83  
    252252 
    253253     
    254 int GetXMLFromServer(int sockfd, struct Utility uList[], struct Parameter pList[],  
    255         struct Observable oList[], struct CE_Info *ce_info) 
    256 { 
    257     // get utilities 
    258     GetUtility(sockfd, uList, ce_info); 
    259      
    260     // get parameters 
    261     GetParameter(sockfd, pList, ce_info); 
    262  
    263     // read obervables 
    264     GetObservable(sockfd, oList, ce_info); 
    265  
    266     printf("xml reception done\n"); 
    267      
    268     return 1; 
    269 } 
    270  
    271  
    272254int SendMessage(int socketfd, char *message)  
    273255{ 
     
    284266     
    285267    return n; 
     268} 
     269 
     270 
     271int GetXMLFromServer(int sockfd, struct Utility uList[], struct Parameter pList[],  
     272        struct Observable oList[], struct CE_Info *ce_info) 
     273{ 
     274    // get utilities 
     275    GetUtility(sockfd, uList, ce_info); 
     276     
     277    // get parameters 
     278    GetParameter(sockfd, pList, ce_info); 
     279 
     280    // read obervables 
     281    GetObservable(sockfd, oList, ce_info); 
     282 
     283    // send ack back to server 
     284    char buffer[256]; 
     285    strcpy(buffer, "xml received"); 
     286    SendMessage(sockfd, buffer); 
     287    printf("xml reception done\n"); 
     288     
     289    return 1; 
    286290} 
    287291 
     
    401405    // simple search: find entry where... 
    402406    //   log10_ber < 1e-2 and SNR > 5 
    403     char * search_names[] = {"log10_ber", "SNR"}; 
    404     int search_ops[] = {LT, GT}; 
    405     float search_vals[] = {1e-2f, 5.f}; 
     407    //char * search_names[] = {"log10_ber", "SNR"}; 
     408    char ** search_names; 
     409    search_names 
     410        = (char **)malloc(sizeof(char)*(ce_info->numUtilities)); 
     411    for (i = 0; i < ce_info->numUtilities; i++){ 
     412        search_names[i]  
     413            = malloc(sizeof(char)*(strlen(uList[i].name)+1)); 
     414        search_names[i] = uList[i].name; 
     415    } 
     416    int search_ops[] = {GT, GT, LT}; 
     417    //float search_vals[] = {1e-2f, 5.f}; 
     418    float *search_vals; 
     419    search_vals = malloc(sizeof(float)*(ce_info->numUtilities)); 
     420    for (i = 0; i < ce_info->numUtilities; i++){ 
     421        search_vals[i] = uList[i].target; 
     422    } 
    406423    float retvals[num_cols]; 
    407424    rc = cbr_search(mycbr, search_names, search_ops,  
     
    428445    return 1; 
    429446} 
     447 
     448 
     449int SendCEResults(int sockfd, struct Utility uList[], struct Parameter pList[],  
     450        struct Observable oList[], struct CE_Info *ce_info) 
     451{ 
     452    // send results back to server 
     453    char var[50]; 
     454    int i; 
     455  
     456    /*// utility 
     457    for (i = 0; i < ce_info->numUtilities; i++){ 
     458        sprintf(var, "%f", uList[i].value); 
     459        SendMessage(sockfd, var); 
     460    }*/ 
     461     
     462    // parameter 
     463    for (i = 0; i < ce_info->numParameters; i++){ 
     464        sprintf(var, "%f", pList[i].value); 
     465        SendMessage(sockfd, var); 
     466    } 
     467     
     468    /*// observable 
     469    for (i = 0; i < ce_info->numObservables; i++){ 
     470        sprintf(var, "%f", oList[i].value); 
     471        SendMessage(sockfd, var); 
     472    }*/ 
     473 
     474    return 1; 
     475} 
     476 
    430477 
    431478// main client socket 
     
    464511     
    465512    // send results back to server 
    466     char counter[50]; 
     513    SendCEResults(sockfd, uList, pList, oList, &ce_info); 
     514 
     515/*    char counter[50]; 
    467516    char var[50]; 
    468517    // utility 
    469     sprintf(counter, "%d", ce_info.numUtilities); 
    470     SendMessage(sockfd, counter); 
    471     // send utilities 
    472518    for (i = 0; i < ce_info.numUtilities; i++){ 
    473519        sprintf(var, "%f", uList[i].value); 
    474520        SendMessage(sockfd, var); 
    475521    } 
    476  
    477522    // parameter 
    478     sprintf(counter, "%d", ce_info.numParameters); 
    479     SendMessage(sockfd, counter); 
    480     // send parameters 
    481523    for (i = 0; i < ce_info.numParameters; i++){ 
    482524        sprintf(var, "%f", pList[i].value); 
    483525        SendMessage(sockfd, var); 
    484526    } 
    485  
    486527    // observable 
    487     sprintf(counter, "%d", ce_info.numObservables); 
    488     SendMessage(sockfd, counter); 
    489     // send utilities 
    490528    for (i = 0; i < ce_info.numObservables; i++){ 
    491529        sprintf(var, "%f", oList[i].value); 
    492530        SendMessage(sockfd, var); 
    493     } 
     531    }*/ 
    494532 
    495533