NSIS-ka
A free C++ implementation of NSIS protocols

Changeset 4529


Ignore:
Timestamp:
Oct 8, 2009, 2:07:02 AM (8 years ago)
Author:
stud-dettling
Message:
  • Added new context specifically for an AHO, which is independent of the context used for resource reservations.
Location:
qos-nslp/branches/20090610-qos-nslp-aho
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • qos-nslp/branches/20090610-qos-nslp-aho/include/nslp_context.h

    r4527 r4529  
    134134        qspec_object* get_context_qspec();
    135135
    136 #ifdef USE_AHO
    137         /// types and functions for an anticipated handover
    138         enum node_role_t {
    139                 MN,     // mobile node
    140                 ARN,    // new access router
    141                 OTHER   // all other nodes
    142         };
    143         void set_aho_node_role(NSLP_Context::node_role_t role);
    144         NSLP_Context::node_role_t get_aho_node_role();
    145 #endif
    146 
    147          /// lock mutex
     136        /// lock mutex
    148137        void lock();
    149138        /// unlock mutex
     
    191180            qspec_object* context_qspec;
    192181
    193 #ifdef USE_AHO
    194             NSLP_Context::node_role_t node_role;
    195 #endif
    196 
    197182            /// This mutex is used to lock the NSLP context
    198183            pthread_mutex_t mutex;
  • qos-nslp/branches/20090610-qos-nslp-aho/src/Makefile

    r4451 r4529  
    4848                info_spec.o nslp_object.o nslp_pdu.o nslp_context.o aggregate.o \
    4949                rmf.o QoS_StateModule.o QoS_Appl_Msg.o SignalingAppl.o QoS_NSLP_API.o QoS_NSLP_Client_API.o \
    50                 QoS_NSLP_UDS_API.o TestConsole.o session_id_list.o rsn_list.o qosnslp_starter.o
     50                QoS_NSLP_UDS_API.o TestConsole.o session_id_list.o rsn_list.o qosnslp_starter.o \
     51                qos_nslp_aho_contextmap.o nslp_aho_context.o
    5152
    5253ifdef QT_DIR
  • qos-nslp/branches/20090610-qos-nslp-aho/src/ProcessingModule.cpp

    r4503 r4529  
    3636#include "qos_nslp_contextmap.h"
    3737#include "qos_nslp_constants.h"
     38#include "qos_nslp_aho_contextmap.h"
    3839
    3940#include "nslpdata.h"
     
    5152
    5253ContextMap contextmap;
     54AhoContextMap aho_contextmap;
    5355
    5456/***** struct ProcessingModuleParam *****/
  • qos-nslp/branches/20090610-qos-nslp-aho/src/QoS_StateModule.cpp

    r4527 r4529  
    2323#include "ie.h"
    2424#include "qos_nslp_constants.h"
     25#include "qos_nslp_aho_contextmap.h"
    2526
    2627#include <netdb.h>
     
    3738
    3839  extern ContextMap contextmap;
     40  extern AhoContextMap aho_contextmap;
    3941
    4042  using namespace protlib::log;
     
    41314133                qn_type = context->get_qn_type();
    41324134                pc_mri = context->get_mri()->copy();
    4133 
    4134                 NSLP_Context::node_role_t role = context->get_aho_node_role();
     4135                context->unlock();
     4136
     4137                ntlp::sessionid sid(tmp_sid);
     4138                is_flow_sender = is_flow_source(pc_mri);
     4139                is_flow_receiver = is_flow_destination(pc_mri);
     4140
     4141
     4142                //----------------------------
     4143                /*
     4144                NSLP_AHO_Context::node_role_t role = context->get_aho_node_role();
    41354145                switch(role) {
    41364146                case NSLP_Context::MN:
     
    41604170                        break;
    41614171                }
    4162                 context->unlock();
    4163 
    4164                 ntlp::sessionid sid(tmp_sid);
    4165                 is_flow_sender = is_flow_source(pc_mri);
    4166                 is_flow_receiver = is_flow_destination(pc_mri);
     4172                */
     4173                //----------------------------
     4174                NSLP_AHO_Context *aho_context = new NSLP_AHO_Context();
     4175                NSLP_AHO_Context::node_role_t role = aho_context->get_aho_node_role();
     4176                switch(role) {
     4177                case NSLP_AHO_Context::MN:
     4178                        DLog(state_manager::modname, "Node Role: MN");
     4179                        break;
     4180                case NSLP_AHO_Context::ARN:
     4181                        DLog(state_manager::modname, "Node Role: ARN");
     4182                        break;
     4183                case NSLP_AHO_Context::CN:
     4184                        DLog(state_manager::modname, "Node Role: CN");
     4185                        break;
     4186                case NSLP_AHO_Context::OTHER:
     4187                        DLog(state_manager::modname, "Node Role: OTHER");
     4188                        break;
     4189                }
     4190
     4191                // set role of node during an AHO in aho_context
     4192                aho_context->set_aho_node_role(NSLP_AHO_Context::MN);
     4193
     4194                role = aho_context->get_aho_node_role();
     4195                switch(role) {
     4196                case NSLP_AHO_Context::MN:
     4197                        DLog(state_manager::modname, "Node Role: MN");
     4198                        break;
     4199                case NSLP_AHO_Context::ARN:
     4200                        DLog(state_manager::modname, "Node Role: ARN");
     4201                        break;
     4202                case NSLP_AHO_Context::CN:
     4203                        DLog(state_manager::modname, "Node Role: CN");
     4204                        break;
     4205                case NSLP_AHO_Context::OTHER:
     4206                        DLog(state_manager::modname, "Node Role: OTHER");
     4207                        break;
     4208                }
     4209
     4210                // insert aho_context into aho_contextmap
     4211                aho_contextmap.insert(sid, aho_context);
    41674212
    41684213
     
    42584303
    42594304        //
    4260         // TODO: reset node role to OTHER
     4305        // TODO: delete aho_context
    42614306
    42624307        ILog(state_manager::modname, "aho_phase_3_2a() - done");
  • qos-nslp/branches/20090610-qos-nslp-aho/src/nslp_context.cpp

    r4527 r4529  
    7373    set_qn_type(QNE);
    7474    context_mri = logical_mri = old_mri = 0;
    75 
    76 #ifdef USE_AHO
    77     set_aho_node_role(OTHER);
    78 #endif
    7975} // end constructor
    8076
     
    665661//@}
    666662
    667 #ifdef USE_AHO
    668 /** This function sets the role of a node during an anticipated handover.
    669   * @param role the role of the node.
    670   */
    671 void NSLP_Context::set_aho_node_role(NSLP_Context::node_role_t role)
    672 {
    673   node_role = role;
    674 }
    675 
    676 /** This function gets the role of a node during an anticipated handover.
    677   * @return the role of the node.
    678   */
    679 NSLP_Context::node_role_t NSLP_Context::get_aho_node_role()
    680 {
    681   return node_role;
    682 }
    683 #endif
    684 
    685663} // end namespace qos_nslp
Note: See TracChangeset for help on using the changeset viewer.