Loading ccsrc/EncDec/LibItsDenm_Encdec.cc +11 −0 Original line number Diff line number Diff line #include "LibItsDenm_EncdecDeclarations.hh" #include "DENMCodec.hh" #include "UpperTesterCodec.hh" #include "loggers.hh" namespace LibItsDenm__EncdecDeclarations { Loading Loading @@ -92,5 +93,15 @@ namespace LibItsDenm__EncdecDeclarations { return 0; } BITSTRING fx__enc__UtDenmInitialize (const LibItsDenm__TypesAndValues::UtDenmInitialize& p_utDenmInitialize) { loggers::get_instance().log_msg(">>> fx__enc__UtDenmInitialize: ", p_utDenmInitialize); UpperTesterCodec codec; OCTETSTRING os; codec.encode(p_utDenmInitialize, os); return oct2bit(os); } } //end namespace ccsrc/Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC +37 −11 Original line number Diff line number Diff line #include "UpperTesterLayer.hh" #include "loggers.hh" //============================================================================= namespace LibItsDenm__TestSystem { UpperTesterPort::UpperTesterPort(const char *par_port_name) : UpperTesterPort_BASE(par_port_name) : UpperTesterPort_BASE(par_port_name), _cfg_params(), _layer_params(), _layer(NULL), _time_key("UpperTesterPort::outgoing_send") { loggers::get_instance().log("UpperTesterPort_Denm::UpperTesterPort_Denm"); } UpperTesterPort::~UpperTesterPort() { if (_layer != NULL) { delete _layer; } } void UpperTesterPort::set_parameter(const char * /*parameter_name*/, const char * /*parameter_value*/) void UpperTesterPort::set_parameter(const char * parameter_name, const char * parameter_value) { loggers::get_instance().log("UpperTesterPort::set_parameter: %s=%s", parameter_name, parameter_value); _cfg_params.insert(std::pair<std::string, std::string>(std::string(parameter_name), std::string(parameter_value))); _cfg_params.log(); } /*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, Loading @@ -38,13 +46,31 @@ void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) /*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ void UpperTesterPort::user_map(const char * /*system_port*/) void UpperTesterPort::user_map(const char * system_port) { loggers::get_instance().log(">>> UpperTesterPort::user_map: %s", system_port); // Build layer stack /* Params::iterator it = _cfg_params.find(std::string("params")); if (it != _cfg_params.end()) { loggers::get_instance().log("UpperTesterPort::user_map: %s", it->second.c_str()); _layer = LayerStackBuilder::GetInstance()->createLayerStack(it->second.c_str()); if (static_cast<UpperTesterLayer *>(_layer) == NULL) { loggers::get_instance().error("UpperTesterPort::user_map: Invalid stack configuration: %s", it->second.c_str()); } static_cast<UpperTesterLayer *>(_layer)->addUpperPort(this); } else { loggers::get_instance().error("UpperTesterPort::user_map: No layers defined in configuration file"); } */ } void UpperTesterPort::user_unmap(const char * /*system_port*/) void UpperTesterPort::user_unmap(const char * system_port) { loggers::get_instance().log(">>> UpperTesterPort::user_unmap: %s", system_port); if (_layer != NULL) { delete _layer; _layer = NULL; } } Loading ccsrc/Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH +8 −0 Original line number Diff line number Diff line #include "Layer.hh" #include "Params.hh" //============================================================================= #include "LibItsDenm_TestSystem.hh" namespace LibItsDenm__TestSystem { class UpperTesterPort : public UpperTesterPort_BASE { Params _cfg_params; Params _layer_params; Layer * _layer; std::string _time_key; public: UpperTesterPort(const char *par_port_name = NULL); ~UpperTesterPort(); Loading ccsrc/Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ namespace LibItsGeoNetworking__TestSystem { UpperTesterPort::UpperTesterPort(const char *par_port_name) : UpperTesterPort_BASE(par_port_name), _cfg_params(), _layer_params(), _layer(NULL), _time_key("UpperTesterPort::outgoing_send") { loggers::get_instance().log("UpperTesterPort::UpperTesterPort"); loggers::get_instance().log("UpperTesterPort_Gn::UpperTesterPort_Gn"); } Loading ccsrc/Protocols/DENM/DENMCodec.cc +4 −1 Original line number Diff line number Diff line Loading @@ -50,9 +50,12 @@ int DENMPDUCodec::encode (const DENM__PDU__Descriptions::DENM& p_denm, BITSTRING // Recode p_data as PER TTCN_Buffer per_buf; if (asn1c_ber2per(asn_DEF_DENM, ber_buf, per_buf)) { per_buf.clear(); loggers::get_instance().log_to_hexa("DENMPDUCodec::encode: PER encoding=", per_buf); per_buf.rewind(); rc = per_buf.get_len() * 8; p_data = BITSTRING(rc, per_buf.get_data()); } else { loggers::get_instance().warning("DENMPDUCodec::encode: BER to PER encoding failure"); } loggers::get_instance().log("<<< DENMPDUCodec::encode: %d", rc); Loading Loading
ccsrc/EncDec/LibItsDenm_Encdec.cc +11 −0 Original line number Diff line number Diff line #include "LibItsDenm_EncdecDeclarations.hh" #include "DENMCodec.hh" #include "UpperTesterCodec.hh" #include "loggers.hh" namespace LibItsDenm__EncdecDeclarations { Loading Loading @@ -92,5 +93,15 @@ namespace LibItsDenm__EncdecDeclarations { return 0; } BITSTRING fx__enc__UtDenmInitialize (const LibItsDenm__TypesAndValues::UtDenmInitialize& p_utDenmInitialize) { loggers::get_instance().log_msg(">>> fx__enc__UtDenmInitialize: ", p_utDenmInitialize); UpperTesterCodec codec; OCTETSTRING os; codec.encode(p_utDenmInitialize, os); return oct2bit(os); } } //end namespace
ccsrc/Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partC +37 −11 Original line number Diff line number Diff line #include "UpperTesterLayer.hh" #include "loggers.hh" //============================================================================= namespace LibItsDenm__TestSystem { UpperTesterPort::UpperTesterPort(const char *par_port_name) : UpperTesterPort_BASE(par_port_name) : UpperTesterPort_BASE(par_port_name), _cfg_params(), _layer_params(), _layer(NULL), _time_key("UpperTesterPort::outgoing_send") { loggers::get_instance().log("UpperTesterPort_Denm::UpperTesterPort_Denm"); } UpperTesterPort::~UpperTesterPort() { if (_layer != NULL) { delete _layer; } } void UpperTesterPort::set_parameter(const char * /*parameter_name*/, const char * /*parameter_value*/) void UpperTesterPort::set_parameter(const char * parameter_name, const char * parameter_value) { loggers::get_instance().log("UpperTesterPort::set_parameter: %s=%s", parameter_name, parameter_value); _cfg_params.insert(std::pair<std::string, std::string>(std::string(parameter_name), std::string(parameter_value))); _cfg_params.log(); } /*void UpperTesterPort::Handle_Fd_Event(int fd, boolean is_readable, Loading @@ -38,13 +46,31 @@ void UpperTesterPort::Handle_Fd_Event_Readable(int /*fd*/) /*void UpperTesterPort::Handle_Timeout(double time_since_last_call) {}*/ void UpperTesterPort::user_map(const char * /*system_port*/) void UpperTesterPort::user_map(const char * system_port) { loggers::get_instance().log(">>> UpperTesterPort::user_map: %s", system_port); // Build layer stack /* Params::iterator it = _cfg_params.find(std::string("params")); if (it != _cfg_params.end()) { loggers::get_instance().log("UpperTesterPort::user_map: %s", it->second.c_str()); _layer = LayerStackBuilder::GetInstance()->createLayerStack(it->second.c_str()); if (static_cast<UpperTesterLayer *>(_layer) == NULL) { loggers::get_instance().error("UpperTesterPort::user_map: Invalid stack configuration: %s", it->second.c_str()); } static_cast<UpperTesterLayer *>(_layer)->addUpperPort(this); } else { loggers::get_instance().error("UpperTesterPort::user_map: No layers defined in configuration file"); } */ } void UpperTesterPort::user_unmap(const char * /*system_port*/) void UpperTesterPort::user_unmap(const char * system_port) { loggers::get_instance().log(">>> UpperTesterPort::user_unmap: %s", system_port); if (_layer != NULL) { delete _layer; _layer = NULL; } } Loading
ccsrc/Ports/LibIts_ports/DENM_ports/UpperTesterPort_DENM.partH +8 −0 Original line number Diff line number Diff line #include "Layer.hh" #include "Params.hh" //============================================================================= #include "LibItsDenm_TestSystem.hh" namespace LibItsDenm__TestSystem { class UpperTesterPort : public UpperTesterPort_BASE { Params _cfg_params; Params _layer_params; Layer * _layer; std::string _time_key; public: UpperTesterPort(const char *par_port_name = NULL); ~UpperTesterPort(); Loading
ccsrc/Ports/LibIts_ports/GN_ports/UpperTesterPort_GN.partC +1 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ namespace LibItsGeoNetworking__TestSystem { UpperTesterPort::UpperTesterPort(const char *par_port_name) : UpperTesterPort_BASE(par_port_name), _cfg_params(), _layer_params(), _layer(NULL), _time_key("UpperTesterPort::outgoing_send") { loggers::get_instance().log("UpperTesterPort::UpperTesterPort"); loggers::get_instance().log("UpperTesterPort_Gn::UpperTesterPort_Gn"); } Loading
ccsrc/Protocols/DENM/DENMCodec.cc +4 −1 Original line number Diff line number Diff line Loading @@ -50,9 +50,12 @@ int DENMPDUCodec::encode (const DENM__PDU__Descriptions::DENM& p_denm, BITSTRING // Recode p_data as PER TTCN_Buffer per_buf; if (asn1c_ber2per(asn_DEF_DENM, ber_buf, per_buf)) { per_buf.clear(); loggers::get_instance().log_to_hexa("DENMPDUCodec::encode: PER encoding=", per_buf); per_buf.rewind(); rc = per_buf.get_len() * 8; p_data = BITSTRING(rc, per_buf.get_data()); } else { loggers::get_instance().warning("DENMPDUCodec::encode: BER to PER encoding failure"); } loggers::get_instance().log("<<< DENMPDUCodec::encode: %d", rc); Loading