Changeset 155

Show
Ignore:
Timestamp:
03/13/09 13:59:34 (15 years ago)
Author:
bhilburn
Message:

Implemented the old default policy engine in our new PolicyEngine? class. Doesn't
link properly due to redefinitions of socket functions... might need to change
the way that is laid out to fix it.

Location:
vtcross/branches/bhilburn/src/policy_engines
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • vtcross/branches/bhilburn/src/policy_engines/Makefile.am

    r133 r155  
    55bin_PROGRAMS = policy_demo 
    66 
    7 policy_demo_SOURCES = default_policy_engine.cpp 
     7policy_demo_SOURCES = PolicyEngine.cpp default_policy_engine.cpp 
    88 
  • vtcross/branches/bhilburn/src/policy_engines/PolicyEngine.cpp

    r143 r155  
    99 
    1010 
     11#include <cstdlib> 
     12#include <cstring> 
     13#include <stdint.h> 
     14 
    1115#include "vtcross/common.h" 
    1216#include "vtcross/components.h" 
     
    1721 
    1822 
    19 void PolicyEngine::GetRemoteComponentType() 
     23PolicyEngine::PolicyEngine() 
     24{ 
     25    LOG("Creating Policy Engine.\n"); 
     26    LoadPolicies(); 
     27} 
     28 
     29 
     30PolicyEngine::~PolicyEngine() 
    2031{ 
    2132} 
    2233 
    2334 
    24 void PolicyEngine::WaitForSignal() 
     35void  
     36PolicyEngine::GetRemoteComponentType(int32_t socketFD) 
    2537{ 
    2638} 
    2739 
    2840 
    29 void PolicyEngine::Shutdown() 
     41void  
     42PolicyEngine::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 
     61void  
     62PolicyEngine::Shutdown() 
    3063{ 
    3164} 
    3265 
    3366 
    34 void PolicyEngine::Reset() 
     67void 
     68PolicyEngine::Reset() 
    3569{ 
    3670} 
    3771 
    3872 
    39 void PolicyEngine::RegisterComponent(socketFD, compType) 
     73void 
     74PolicyEngine::RegisterComponent(int32_t socketFD) 
     75{ 
     76    SendMessage(socketFD, "p_register"); 
     77    LOG("Policy Engine:: Registration message sent.\n"); 
     78} 
     79 
     80 
     81void  
     82PolicyEngine::DeregisterComponent(int32_t socketFD) 
    4083{ 
    4184} 
    4285 
    4386 
    44 void PolicyEngine::DeregisterComponent() 
     87void  
     88PolicyEngine::RegisterServices(int32_t socketFD) 
    4589{ 
    4690} 
    4791 
    4892 
    49 void PolicyEngine::RegisterServices() 
     93void  
     94PolicyEngine::DeregisterServices(int32_t socketFD) 
    5095{ 
    5196} 
    5297 
    5398 
    54 void PolicyEngine::DeregisterServices() 
     99void  
     100PolicyEngine::LoadPolicies() 
     101{ 
     102    LOG("PolicyEngine:: Loading policies.\n"); 
     103} 
     104 
     105 
     106void  
     107PolicyEngine::ReloadPolicies() 
    55108{ 
    56109} 
    57110 
    58111 
    59 void PolicyEngine::ReloadPolicies() 
     112void  
     113PolicyEngine::SendPEDecision(int32_t socketFD, struct Parameter pList[], \ 
     114        struct CE_Info *ce_info, int32_t decision_array[]) 
    60115{ 
    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    } 
    65122} 
    66123 
    67124 
    68 void PolicyEngine::ValidateParameters() 
     125void  
     126PolicyEngine::ValidateParameters(struct Parameter pList[], \ 
     127        struct CE_Info *ce_info, int decision_array[]) 
    69128{ 
     129    LOG("Policy Engine:: Policies Validated.\n"); 
     130    for (size_t i = 0; i < ce_info->numParameters; i++) 
     131        decision_array[i] = 1; 
    70132} 
    71133 
  • vtcross/branches/bhilburn/src/policy_engines/default_policy_engine.cpp

    r151 r155  
    1818 
    1919#include "vtcross/common.h" 
     20#include "vtcross/components.h" 
    2021#include "vtcross/containers.h" 
    2122#include "vtcross/socket_comm.h" 
     
    2627 
    2728int32_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_t  
    40 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_t  
    49 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_t  
    64 ParsePolicies()  
    65 { 
    66  
    67     LOG("Policy Engine:: Policies parsed.\n"); 
    68     return 1; 
    69 } 
    70  
    71  
    72 int32_t  
    7329main(int32_t argc, char *argv[]) 
    7430{ 
    7531    if(argc < 3) 
    7632       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; 
    8233     
    8334    int32_t socketFD = ClientSocket(argv[1], argv[2]); 
    8435 
    85     LOG("Policy Engine:: Parsing local policies.\n"); 
    86     ParsePolicies(); 
    87  
    88     RegisterPE(socketFD); 
     36    PolicyEngine policyEngine; 
     37    policyEngine.RegisterComponent(socketFD); 
    8938 
    9039    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); 
    10141    } 
    102      
     42 
    10343    return 0; 
    10444} 
     45