Changeset 232
- Timestamp:
- 04/07/09 10:19:43 (15 years ago)
- Location:
- vtcross/trunk/src
- Files:
-
- 4 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/trunk/src/lib/socketcomm/socketcomm.cpp
r229 r232 48 48 size_t i; 49 49 for(i = 0; i < 256; i++) { 50 50 if(strcmp(&msgBuffer[i], "\0") == 0) 51 51 break; 52 52 } … … 123 123 { 124 124 ssize_t numSentBytes = send(socketFD, message, (strlen(message) + 1), 0); 125 125 if(numSentBytes < 0) { 126 126 ERROR(1, "Error sending to server %i (%i): %s\n",socketFD, numSentBytes, message); 127 127 } -
vtcross/trunk/src/libvtcross/libvtcross.cpp
r231 r232 22 22 { 23 23 // TODO why is this hardcoded like this?? 24 24 return ClientSocket("localhost", "40000"); 25 25 } 26 26 … … 38 38 ReadMessage(socketfd, buffer); 39 39 uint32_t numObservables = atoi(buffer); 40 41 40 41 return numObservables; 42 42 } 43 43 … … 53 53 ReadMessage(socketfd, buffer); 54 54 uint32_t numUtilities = atoi(buffer); 55 56 55 56 return numUtilities; 57 57 } 58 58 … … 68 68 ReadMessage(socketfd, buffer); 69 69 uint32_t numParameters = atoi(buffer); 70 71 70 71 return numParameters; 72 72 } 73 73 // end previous TODO … … 85 85 Parameter* 86 86 GetOptimalParameters(Observable *radioObservables, uint32_t numObservables, 87 87 Parameter *currentParameters, uint32_t numCurrentParameters) 88 88 { 89 89 char var[50]; 90 90 char counter[55]; 91 91 char buffer[256]; 92 92 93 93 uint32_t socketFD = ConnectToRemoteComponent(); … … 104 104 SendMessage(socketFD, radioObservables[i].name.c_str()); 105 105 sprintf(var, "%f", radioObservables[i].value); 106 SendMessage(socketFD, var); 106 SendMessage(socketFD, var); 107 107 } 108 108 … … 111 111 sprintf(counter, "%i", numCurrentParameters); 112 112 SendMessage(socketFD, counter); 113 113 for(size_t i = 0; i < numCurrentParameters; i++) { 114 114 SendMessage(socketFD,currentParameters[i].name.c_str()); 115 115 sprintf(var,"%f",currentParameters[i].value); 116 SendMessage(socketFD,var); 116 SendMessage(socketFD,var); 117 117 } 118 118 … … 128 128 pList[i].name = std::string(buffer); 129 129 130 130 memset(buffer, 0, 256); 131 131 ReadMessage(socketFD, buffer); 132 132 pList[i].value = atof(buffer); … … 138 138 bool 139 139 UpdateParameterPerformance(Parameter *p, uint32_t numParameters, Observable *o, 140 140 uint32_t numObservables) 141 141 { 142 142 char counter[55]; 143 143 char var[50]; 144 144 … … 150 150 sprintf(counter, "%i", numParameters); 151 151 SendMessage(socketFD, counter); 152 153 152 153 for(size_t i = 0; i < numParameters; i++) { 154 154 SendMessage(socketFD, p[i].name.c_str()); 155 155 sprintf(var, "%f", p[i].value); 156 SendMessage(socketFD, var); 156 SendMessage(socketFD, var); 157 157 } 158 158 159 159 // Send Observables 160 160 sprintf(counter, "%i", numObservables); 161 161 SendMessage(socketFD, counter); … … 163 163 SendMessage(socketFD, o[i].name.c_str()); 164 164 sprintf(var, "%f", o[i].value); 165 SendMessage(socketFD, var); 165 SendMessage(socketFD, var); 166 166 } 167 167 } -
vtcross/trunk/src/libvtcross/libvtcross_demo.cpp
r231 r232 23 23 main(int32_t argc, char *argv[]) 24 24 { 25 25 for(size_t i = 0; i < 10; i++) { 26 26 Observable *o = new Observable[2]; 27 27 Parameter *currentParameters = new Parameter[2]; … … 62 62 o[1].value = 15-p[1].value; 63 63 64 UpdateParameterPerformance(p, numParameters, o, numObservables); 64 UpdateParameterPerformance(p, numParameters, o, numObservables); 65 65 66 66 delete [] p; 67 67 delete [] o; 68 68 } 69 69 70 70 return 0; 71 71 } 72 72 -
vtcross/trunk/src/shell/CognitiveRadioShell.cpp
r231 r232 157 157 for(size_t i = 0; i < radio_info->numObservables; i++) { 158 158 SendMessage(socketFD, observables[i].name.c_str()); 159 159 160 160 sprintf(counter, "%i", observables[i].numAffects); 161 161 SendMessage(socketFD, counter); … … 165 165 } 166 166 } 167 167 168 168 /* Receive ACK for radio configuration */ 169 169 char buffer[256]; … … 185 185 LOG("Cognitive Radio Shell:: Sending radio experience to Cognitive Engine.\n"); 186 186 int32_t numberExp = 4; 187 187 char numberExpString[50]; 188 188 189 189 sprintf(numberExpString, "%i", numberExp); … … 462 462 uint32_t numObservables = atoi(buffer); 463 463 464 464 LOG("Cognitive Radio Shell:: Attempting to get %i observables.\n", numObservables); 465 465 Observable *o = new Observable[numObservables]; 466 466 … … 475 475 } 476 476 477 477 /* Receive Set of Current Parameters */ 478 478 memset(buffer, 0, 256); 479 479 ReadMessage(commandSocketFD,buffer); 480 480 uint32_t numCurrentParameters = atoi(buffer); 481 481 482 482 LOG("Cognitive Radio Shell:: Attempting to get %i parameters.\n",numCurrentParameters); 483 483 Parameter * cp = new Parameter[numCurrentParameters]; 484 484 … … 493 493 494 494 /* Send to Cognitive Engine 495 496 497 498 499 495 * TODO: With multiple CEs we need to make a decision about where 496 * to send this information 497 */ 498 if(!SML_present) { 499 LOG("Cognitive Radio Shell:: Passing on observables to Cognitive Engine\n"); 500 500 SendMessage(ceSocketFD,"request_optimization"); 501 501 sprintf(counter,"%i",numObservables); … … 504 504 SendMessage(ceSocketFD,o[i].name.c_str()); 505 505 sprintf(var,"%f",o[i].value); 506 506 SendMessage(ceSocketFD,var); 507 507 } 508 509 508 509 LOG("Cognitive Radio Shell:: Passing on current parameters to Cognitive Engine\n"); 510 510 sprintf(counter,"%i",numCurrentParameters); 511 511 SendMessage(ceSocketFD,counter); … … 513 513 SendMessage(ceSocketFD,cp[i].name.c_str()); 514 514 sprintf(var,"%f",cp[i].value); 515 515 SendMessage(ceSocketFD,var); 516 516 } 517 518 519 517 } 518 519 LOG("Cognitive Radio Shell:: Receiving optimized parameters from Cognitive Engine.\n"); 520 520 /* Receive Set of Parameters */ 521 521 memset(buffer, 0, 256); … … 536 536 537 537 /* Send to Application 538 539 538 */ 539 LOG("Cognitive Radio Shell:: Sending optimized parameters to Application.\n"); 540 540 memset(counter, 0, 55); 541 541 sprintf(counter, "%i", numParameters); … … 544 544 SendMessage(commandSocketFD, p[i].name.c_str()); 545 545 sprintf(var, "%f", p[i].value); 546 546 SendMessage(commandSocketFD, var); 547 547 } 548 548 … … 559 559 char buffer[256]; 560 560 561 561 /* Receive Set of Parameters */ 562 562 memset(buffer, 0, 256); 563 563 ReadMessage(commandSocketFD,buffer); … … 644 644 UpdateParameterPerformance(socketFD); 645 645 } else if(strcmp(buffer, "get_number_utilities") == 0) { 646 647 646 char numUtilities[20]; 647 sprintf(numUtilities, "%i", radio_info->numUtilities); 648 648 SendMessage(commandSocketFD, numUtilities); 649 649 } else if(strcmp(buffer, "get_number_observables") == 0) { 650 651 650 char numObservables[20]; 651 sprintf(numObservables, "%i", radio_info->numObservables); 652 652 SendMessage(commandSocketFD, numObservables); 653 653 } else if(strcmp(buffer, "get_number_parameters") == 0) { 654 655 654 char numParameters[20]; 655 sprintf(numParameters, "%i", radio_info->numParameters); 656 656 SendMessage(commandSocketFD, numParameters); 657 657 } else if(strcmp(buffer, "request_optimization") == 0) { … … 686 686 int32_t maxDescriptor; 687 687 688 689 688 if(servSock[primary] > servSock[policy]) 689 maxDescriptor = servSock[primary]; 690 690 else 691 692 693 694 691 maxDescriptor = servSock[policy]; 692 693 if(servSock[command] > maxDescriptor) 694 maxDescriptor = servSock[command]; 695 695 696 696 if(InitializeTCPServerPort(servSock[primary]) == -1)