| 479 | /* Receive Set of Current Parameters */ |
| 480 | memset(buffer, 0, 256); |
| 481 | ReadMessage(commandSocketFD,buffer); |
| 482 | numCurrentParameters = atoi(buffer); |
| 483 | |
| 484 | LOG("Cognitive Radio Shell:: Attempting to get %i parameters.\n",numCurrentParameters); |
| 485 | Parameter * cp = new Parameter[numCurrentParameters]; |
| 486 | |
| 487 | for (i = 0; i < numCurrentParameters; i++){ |
| 488 | memset(buffer, 0, 256); |
| 489 | ReadMessage(commandSocketFD,buffer); |
| 490 | cp[i].name = std::string(buffer); |
| 491 | |
| 492 | memset(buffer, 0, 256); |
| 493 | ReadMessage(commandSocketFD,buffer); |
| 494 | cp[i].value = atof(buffer); |
| 495 | } |
483 | | LOG("Cognitive Radio Shell:: Passing on observables to Cognitive Engine\n"); |
484 | | SendMessage(ceSocketFD, "get_solution"); |
485 | | sprintf(counter, "%i", numObservables); |
486 | | SendMessage(ceSocketFD, counter); |
487 | | for(size_t i = 0; i < numObservables; i++) { |
488 | | SendMessage(ceSocketFD, o[i].name.c_str()); |
489 | | sprintf(var, "%f", o[i].value); |
490 | | SendMessage(ceSocketFD, var); |
491 | | } |
492 | | |
| 501 | if(!SML_present) { |
| 502 | LOG("Cognitive Radio Shell:: Passing on observables to Cognitive Engine\n"); |
| 503 | SendMessage(ceSocketFD,"request_optimization"); |
| 504 | sprintf(counter,"%i",numObservables); |
| 505 | SendMessage(ceSocketFD,counter); |
| 506 | for(i = 0; i < numObservables; i++) { |
| 507 | SendMessage(ceSocketFD,o[i].name.c_str()); |
| 508 | sprintf(var,"%f",o[i].value); |
| 509 | SendMessage(ceSocketFD,var); |
| 510 | } |
| 511 | |
| 512 | LOG("Cognitive Radio Shell:: Passing on current parameters to Cognitive Engine\n"); |
| 513 | sprintf(counter,"%i",numCurrentParameters); |
| 514 | SendMessage(ceSocketFD,counter); |
| 515 | for(i = 0; i < numCurrentParameters; i++) { |
| 516 | SendMessage(ceSocketFD,cp[i].name.c_str()); |
| 517 | sprintf(var,"%f",cp[i].value); |
| 518 | SendMessage(ceSocketFD,var); |
| 519 | } |
| 520 | } |