Changeset 155 for vtcross/branches
- Timestamp:
- 03/13/09 13:59:34 (15 years ago)
- Location:
- vtcross/branches/bhilburn/src/policy_engines
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/branches/bhilburn/src/policy_engines/Makefile.am
r133 r155 5 5 bin_PROGRAMS = policy_demo 6 6 7 policy_demo_SOURCES = default_policy_engine.cpp7 policy_demo_SOURCES = PolicyEngine.cpp default_policy_engine.cpp 8 8 -
vtcross/branches/bhilburn/src/policy_engines/PolicyEngine.cpp
r143 r155 9 9 10 10 11 #include <cstdlib> 12 #include <cstring> 13 #include <stdint.h> 14 11 15 #include "vtcross/common.h" 12 16 #include "vtcross/components.h" … … 17 21 18 22 19 void PolicyEngine::GetRemoteComponentType() 23 PolicyEngine::PolicyEngine() 24 { 25 LOG("Creating Policy Engine.\n"); 26 LoadPolicies(); 27 } 28 29 30 PolicyEngine::~PolicyEngine() 20 31 { 21 32 } 22 33 23 34 24 void PolicyEngine::WaitForSignal() 35 void 36 PolicyEngine::GetRemoteComponentType(int32_t socketFD) 25 37 { 26 38 } 27 39 28 40 29 void PolicyEngine::Shutdown() 41 void 42 PolicyEngine::WaitForSignal(int32_t socketFD) 43 { 44 LOG("Policy Engine:: Waiting for Policy Check Request.\n"); 45 46 int32_t decision_array[10]; 47 struct Parameter pList[10]; 48 struct CE_Info ce_info; 49 int32_t ret = GetRequest(socketFD, pList, &ce_info); 50 51 if(ret == 1) { 52 LOG("Policy Engine:: Validating Transmission Parameters.\n"); 53 ValidateParameters(pList, &ce_info, decision_array); 54 55 LOG("Policy Engine:: Sending Policy decision to Server.\n"); 56 SendPEDecision(socketFD, pList, &ce_info, decision_array); 57 } 58 } 59 60 61 void 62 PolicyEngine::Shutdown() 30 63 { 31 64 } 32 65 33 66 34 void PolicyEngine::Reset() 67 void 68 PolicyEngine::Reset() 35 69 { 36 70 } 37 71 38 72 39 void PolicyEngine::RegisterComponent(socketFD, compType) 73 void 74 PolicyEngine::RegisterComponent(int32_t socketFD) 75 { 76 SendMessage(socketFD, "p_register"); 77 LOG("Policy Engine:: Registration message sent.\n"); 78 } 79 80 81 void 82 PolicyEngine::DeregisterComponent(int32_t socketFD) 40 83 { 41 84 } 42 85 43 86 44 void PolicyEngine::DeregisterComponent() 87 void 88 PolicyEngine::RegisterServices(int32_t socketFD) 45 89 { 46 90 } 47 91 48 92 49 void PolicyEngine::RegisterServices() 93 void 94 PolicyEngine::DeregisterServices(int32_t socketFD) 50 95 { 51 96 } 52 97 53 98 54 void PolicyEngine::DeregisterServices() 99 void 100 PolicyEngine::LoadPolicies() 101 { 102 LOG("PolicyEngine:: Loading policies.\n"); 103 } 104 105 106 void 107 PolicyEngine::ReloadPolicies() 55 108 { 56 109 } 57 110 58 111 59 void PolicyEngine::ReloadPolicies() 112 void 113 PolicyEngine::SendPEDecision(int32_t socketFD, struct Parameter pList[], \ 114 struct CE_Info *ce_info, int32_t decision_array[]) 60 115 { 61 } 62 63 void PolicyEngine::LoadPolicies() 64 { 116 char var[50]; 117 118 for (size_t i = 0; i < ce_info->numParameters; i++) { 119 sprintf(var, "%i", decision_array[i]); 120 SendMessage(socketFD, var); 121 } 65 122 } 66 123 67 124 68 void PolicyEngine::ValidateParameters() 125 void 126 PolicyEngine::ValidateParameters(struct Parameter pList[], \ 127 struct CE_Info *ce_info, int decision_array[]) 69 128 { 129 LOG("Policy Engine:: Policies Validated.\n"); 130 for (size_t i = 0; i < ce_info->numParameters; i++) 131 decision_array[i] = 1; 70 132 } 71 133 -
vtcross/branches/bhilburn/src/policy_engines/default_policy_engine.cpp
r151 r155 18 18 19 19 #include "vtcross/common.h" 20 #include "vtcross/components.h" 20 21 #include "vtcross/containers.h" 21 22 #include "vtcross/socket_comm.h" … … 26 27 27 28 int32_t 28 ValidateTransmissionParameters(struct Parameter pList[], \29 struct CE_Info *ce_info, int decision_array[])30 {31 LOG("Policy Engine:: Policies Validated.\n");32 for (size_t i = 0; i < ce_info->numParameters; i++)33 decision_array[i] = 1;34 35 return 1;36 }37 38 39 int32_t40 RegisterPE(int32_t socketFD)41 {42 SendMessage(socketFD, "p_register");43 LOG("Policy Engine:: Registration message sent.\n");44 return 1;45 }46 47 48 int32_t49 SendCEDecision(int32_t socketFD, struct Parameter pList[], \50 struct CE_Info *ce_info, int32_t decision_array[])51 {52 char var[50];53 54 for (size_t i = 0; i < ce_info->numParameters; i++) {55 sprintf(var, "%i", decision_array[i]);56 SendMessage(socketFD, var);57 }58 59 return 1;60 }61 62 63 int32_t64 ParsePolicies()65 {66 67 LOG("Policy Engine:: Policies parsed.\n");68 return 1;69 }70 71 72 int32_t73 29 main(int32_t argc, char *argv[]) 74 30 { 75 31 if(argc < 3) 76 32 ERROR(1, "Usage: %s hostname port\n", argv[0]); 77 78 int32_t decision_array[10];79 struct Parameter pList[10];80 struct CE_Info ce_info;81 int32_t ret = 0;82 33 83 34 int32_t socketFD = ClientSocket(argv[1], argv[2]); 84 35 85 LOG("Policy Engine:: Parsing local policies.\n"); 86 ParsePolicies(); 87 88 RegisterPE(socketFD); 36 PolicyEngine policyEngine; 37 policyEngine.RegisterComponent(socketFD); 89 38 90 39 while(1) { 91 LOG("Policy Engine:: Waiting for Policy Check Request.\n"); 92 ret = GetRequest(socketFD, pList, &ce_info); 93 94 if(ret == 1) { 95 LOG("Policy Engine:: Validating Transmission Parameters.\n"); 96 ValidateTransmissionParameters(pList, &ce_info, decision_array); 97 98 LOG("Policy Engine:: Sending Policy decision to Server.\n"); 99 SendCEDecision(socketFD, pList, &ce_info, decision_array); 100 } 40 policyEngine.WaitForSignal(socketFD); 101 41 } 102 42 103 43 return 0; 104 44 } 45