Commit 03a7b5ba authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Code refactoring for PduSessionResourceModifyRequest

parent bf127c6a
...@@ -1076,8 +1076,12 @@ void amf_n2::handle_itti_message( ...@@ -1076,8 +1076,12 @@ void amf_n2::handle_itti_message(
conv::bstring_2_octet_string( conv::bstring_2_octet_string(
itti_msg.n2sm, item.pduSessionResourceModifyRequestTransfer); itti_msg.n2sm, item.pduSessionResourceModifyRequestTransfer);
item.s_nssai.sd = itti_msg.s_NSSAI.getSd(); S_Nssai tmp = {};
item.s_nssai.sst = itti_msg.s_NSSAI.getSst(); tmp.sd = itti_msg.s_NSSAI.getSd();
tmp.sst = itti_msg.s_NSSAI.getSst();
item.s_nssai = std::optional<S_Nssai>(tmp);
// item.s_nssai.sd = itti_msg.s_NSSAI.getSd();
// item.s_nssai.sst = itti_msg.s_NSSAI.getSst();
// TODO: // TODO:
uint8_t* nas_pdu = (uint8_t*) calloc(1, blength(itti_msg.nas) + 1); uint8_t* nas_pdu = (uint8_t*) calloc(1, blength(itti_msg.nas) + 1);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#ifndef _NGAPIESSTRUCT_H_ #ifndef _NGAPIESSTRUCT_H_
#define _NGAPIESSTRUCT_H_ #define _NGAPIESSTRUCT_H_
#include <optional>
#include <string> #include <string>
#include <vector> #include <vector>
...@@ -117,7 +118,7 @@ typedef struct { ...@@ -117,7 +118,7 @@ typedef struct {
uint8_t pduSessionId; uint8_t pduSessionId;
uint8_t* pduSessionNAS_PDU; uint8_t* pduSessionNAS_PDU;
size_t sizeofpduSessionNAS_PDU; size_t sizeofpduSessionNAS_PDU;
S_Nssai s_nssai; std::optional<S_Nssai> s_nssai;
OCTET_STRING_t pduSessionResourceModifyRequestTransfer; OCTET_STRING_t pduSessionResourceModifyRequestTransfer;
} PDUSessionResourceModifyRequestItem_t; } PDUSessionResourceModifyRequestItem_t;
......
...@@ -25,42 +25,44 @@ namespace ngap { ...@@ -25,42 +25,44 @@ namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
PDUSessionResourceModifyItemModReq::PDUSessionResourceModifyItemModReq() { PDUSessionResourceModifyItemModReq::PDUSessionResourceModifyItemModReq() {
nAS_PDU = nullptr; nas_pdu_ = std::nullopt;
s_NSSAI = nullptr; s_nssai_ = std::nullopt;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
PDUSessionResourceModifyItemModReq::~PDUSessionResourceModifyItemModReq() {} PDUSessionResourceModifyItemModReq::~PDUSessionResourceModifyItemModReq() {}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void PDUSessionResourceModifyItemModReq::setPDUSessionResourceModifyItemModReq( void PDUSessionResourceModifyItemModReq::set(
const PDUSessionID& m_pDUSessionID, const NAS_PDU& m_nAS_PDU, const PDUSessionID& pdu_session_id, const std::optional<NAS_PDU>& nas_pdu,
const OCTET_STRING_t& m_pDUSessionResourceModifyRequestTransfer, const OCTET_STRING_t& pdu_session_resource_modify_request_transfer,
const S_NSSAI& m_s_NSSAI) { const std::optional<S_NSSAI>& s_nssai) {
pDUSessionID = m_pDUSessionID; pdu_session_id_ = pdu_session_id;
if (nas_pdu.has_value()) {
uint8_t* nas_buf = nullptr; uint8_t* nas_buf = nullptr;
size_t nas_len = 0; size_t nas_len = 0;
m_nAS_PDU.get(nas_buf, nas_len); nas_pdu.value().get(nas_buf, nas_len);
if (!nAS_PDU) nAS_PDU = new NAS_PDU(); NAS_PDU tmp = {};
nAS_PDU->set(nas_buf, nas_len); tmp.set(nas_buf, nas_len);
pDUSessionResourceModifyRequestTransfer = nas_pdu_ = std::optional<NAS_PDU>(tmp);
m_pDUSessionResourceModifyRequestTransfer; }
s_NSSAI->setSd(m_s_NSSAI.getSd());
s_NSSAI->setSst(m_s_NSSAI.getSst()); pdu_session_resource_modify_request_transfer_ =
pdu_session_resource_modify_request_transfer;
s_nssai_ = s_nssai;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool PDUSessionResourceModifyItemModReq:: bool PDUSessionResourceModifyItemModReq::encode(
encode2PDUSessionResourceModifyItemModReq(
Ngap_PDUSessionResourceModifyItemModReq_t& Ngap_PDUSessionResourceModifyItemModReq_t&
pduSessionResourceModifyItemModReq) { pduSessionResourceModifyItemModReq) {
if (!pDUSessionID.encode(pduSessionResourceModifyItemModReq.pDUSessionID)) if (!pdu_session_id_.encode(pduSessionResourceModifyItemModReq.pDUSessionID))
return false; return false;
if (nAS_PDU) { if (nas_pdu_.has_value()) {
pduSessionResourceModifyItemModReq.nAS_PDU = pduSessionResourceModifyItemModReq.nAS_PDU =
(Ngap_NAS_PDU_t*) calloc(1, sizeof(Ngap_NAS_PDU_t)); (Ngap_NAS_PDU_t*) calloc(1, sizeof(Ngap_NAS_PDU_t));
if (!pduSessionResourceModifyItemModReq.nAS_PDU) return false; if (!pduSessionResourceModifyItemModReq.nAS_PDU) return false;
if (!nAS_PDU->encode(*pduSessionResourceModifyItemModReq.nAS_PDU)) { if (!nas_pdu_.value().encode(*pduSessionResourceModifyItemModReq.nAS_PDU)) {
if (pduSessionResourceModifyItemModReq.nAS_PDU != nullptr) if (pduSessionResourceModifyItemModReq.nAS_PDU != nullptr)
free(pduSessionResourceModifyItemModReq.nAS_PDU); free(pduSessionResourceModifyItemModReq.nAS_PDU);
return false; return false;
...@@ -68,26 +70,25 @@ bool PDUSessionResourceModifyItemModReq:: ...@@ -68,26 +70,25 @@ bool PDUSessionResourceModifyItemModReq::
} }
pduSessionResourceModifyItemModReq.pDUSessionResourceModifyRequestTransfer = pduSessionResourceModifyItemModReq.pDUSessionResourceModifyRequestTransfer =
pDUSessionResourceModifyRequestTransfer; pdu_session_resource_modify_request_transfer_;
return true; return true;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool PDUSessionResourceModifyItemModReq:: bool PDUSessionResourceModifyItemModReq::decode(
decodefromPDUSessionResourceModifyItemModReq(
Ngap_PDUSessionResourceModifyItemModReq_t& Ngap_PDUSessionResourceModifyItemModReq_t&
pduSessionResourceModifyItemModReq) { pduSessionResourceModifyItemModReq) {
if (!pDUSessionID.decode(pduSessionResourceModifyItemModReq.pDUSessionID)) if (!pdu_session_id_.decode(pduSessionResourceModifyItemModReq.pDUSessionID))
return false; return false;
if (pduSessionResourceModifyItemModReq.nAS_PDU) { if (pduSessionResourceModifyItemModReq.nAS_PDU) {
nAS_PDU = new NAS_PDU(); NAS_PDU tmp = {};
if (!nAS_PDU->decode(*pduSessionResourceModifyItemModReq.nAS_PDU)) if (!tmp.decode(*pduSessionResourceModifyItemModReq.nAS_PDU)) return false;
return false; nas_pdu_ = std::optional<NAS_PDU>(tmp);
} }
pDUSessionResourceModifyRequestTransfer = pdu_session_resource_modify_request_transfer_ =
pduSessionResourceModifyItemModReq pduSessionResourceModifyItemModReq
.pDUSessionResourceModifyRequestTransfer; .pDUSessionResourceModifyRequestTransfer;
...@@ -95,15 +96,24 @@ bool PDUSessionResourceModifyItemModReq:: ...@@ -95,15 +96,24 @@ bool PDUSessionResourceModifyItemModReq::
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void PDUSessionResourceModifyItemModReq::getPDUSessionResourceModifyItemModReq( void PDUSessionResourceModifyItemModReq::get(
PDUSessionID& m_pDUSessionID, NAS_PDU& m_nAS_PDU, PDUSessionID& pdu_session_id, std::optional<NAS_PDU>& nas_pdu,
OCTET_STRING_t& m_pDUSessionResourceModifyRequestTransfer, OCTET_STRING_t& pdu_session_resource_modify_request_transfer,
S_NSSAI& m_s_NSSAI) { std::optional<S_NSSAI>& s_nssai) {
m_pDUSessionID = pDUSessionID; pdu_session_id = pdu_session_id_;
m_nAS_PDU = *nAS_PDU; nas_pdu = *nas_pdu_;
m_pDUSessionResourceModifyRequestTransfer = if (nas_pdu_.has_value()) {
pDUSessionResourceModifyRequestTransfer; NAS_PDU tmp = {};
m_s_NSSAI = *s_NSSAI; uint8_t* nas_buf = nullptr;
size_t nas_len = 0;
nas_pdu_.value().get(nas_buf, nas_len);
tmp.set(nas_buf, nas_len);
nas_pdu = std::optional<NAS_PDU>(tmp);
}
pdu_session_resource_modify_request_transfer =
pdu_session_resource_modify_request_transfer_;
s_nssai = s_nssai_;
} }
} // namespace ngap } // namespace ngap
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include "PDUSessionID.hpp" #include "PDUSessionID.hpp"
#include "S-NSSAI.hpp" #include "S-NSSAI.hpp"
#include <optional>
extern "C" { extern "C" {
#include "Ngap_PDUSessionResourceModifyItemModReq.h" #include "Ngap_PDUSessionResourceModifyItemModReq.h"
} }
...@@ -37,27 +39,25 @@ class PDUSessionResourceModifyItemModReq { ...@@ -37,27 +39,25 @@ class PDUSessionResourceModifyItemModReq {
PDUSessionResourceModifyItemModReq(); PDUSessionResourceModifyItemModReq();
virtual ~PDUSessionResourceModifyItemModReq(); virtual ~PDUSessionResourceModifyItemModReq();
void setPDUSessionResourceModifyItemModReq( void set(
const PDUSessionID& m_pDUSessionID, const NAS_PDU& m_nAS_PDU, const PDUSessionID& pdu_session_id, const std::optional<NAS_PDU>& nas_pdu,
const OCTET_STRING_t& m_pDUSessionResourceModifyRequestTransfer, const OCTET_STRING_t& pdu_session_resource_modify_request_transfer,
const S_NSSAI& m_s_NSSAI); const std::optional<S_NSSAI>& s_nssai);
void getPDUSessionResourceModifyItemModReq( void get(
PDUSessionID& m_pDUSessionID, NAS_PDU& m_nAS_PDU, PDUSessionID& pdu_session_id, std::optional<NAS_PDU>& nas_pdu,
OCTET_STRING_t& m_pDUSessionResourceModifyRequestTransfer, OCTET_STRING_t& pdu_session_resource_modify_request_transfer,
S_NSSAI& m_s_NSSAI); std::optional<S_NSSAI>& s_nssai);
bool encode2PDUSessionResourceModifyItemModReq( bool encode(Ngap_PDUSessionResourceModifyItemModReq_t&
Ngap_PDUSessionResourceModifyItemModReq_t&
pduSessionResourceModifyItemModReq); pduSessionResourceModifyItemModReq);
bool decodefromPDUSessionResourceModifyItemModReq( bool decode(Ngap_PDUSessionResourceModifyItemModReq_t&
Ngap_PDUSessionResourceModifyItemModReq_t&
pduSessionResourceModifyItemModReq); pduSessionResourceModifyItemModReq);
private: private:
PDUSessionID pDUSessionID; // Mandatory PDUSessionID pdu_session_id_; // Mandatory
NAS_PDU* nAS_PDU; // Optional std::optional<NAS_PDU> nas_pdu_; // Optional
OCTET_STRING_t pDUSessionResourceModifyRequestTransfer; // Mandatory OCTET_STRING_t pdu_session_resource_modify_request_transfer_; // Mandatory
S_NSSAI* s_NSSAI; // Optional std::optional<S_NSSAI> s_nssai_; // Optional
}; };
} // namespace ngap } // namespace ngap
......
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
#include "PDUSessionResourceModifyListModReq.hpp" #include "PDUSessionResourceModifyListModReq.hpp"
#include <iostream>
using namespace std;
namespace ngap { namespace ngap {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
...@@ -33,26 +30,24 @@ PDUSessionResourceModifyListModReq::PDUSessionResourceModifyListModReq() {} ...@@ -33,26 +30,24 @@ PDUSessionResourceModifyListModReq::PDUSessionResourceModifyListModReq() {}
PDUSessionResourceModifyListModReq::~PDUSessionResourceModifyListModReq() {} PDUSessionResourceModifyListModReq::~PDUSessionResourceModifyListModReq() {}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void PDUSessionResourceModifyListModReq::setPDUSessionResourceModifyListModReq( void PDUSessionResourceModifyListModReq::set(
const std::vector<PDUSessionResourceModifyItemModReq>& const std::vector<PDUSessionResourceModifyItemModReq>& list) {
m_pduSessionResourceModifyListModReq) { item_list_ = list;
pduSessionResourceModifyListModReq = m_pduSessionResourceModifyListModReq;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool PDUSessionResourceModifyListModReq:: bool PDUSessionResourceModifyListModReq::encode(
encode2PDUSessionResourceModifyListModReq(
Ngap_PDUSessionResourceModifyListModReq_t& Ngap_PDUSessionResourceModifyListModReq_t&
m_pduSessionResourceModifyListModReq) { pdu_session_resource_modify_list_mod_req) {
for (auto pdu : pduSessionResourceModifyListModReq) { for (auto pdu : item_list_) {
Ngap_PDUSessionResourceModifyItemModReq_t* request = Ngap_PDUSessionResourceModifyItemModReq_t* item =
(Ngap_PDUSessionResourceModifyItemModReq_t*) calloc( (Ngap_PDUSessionResourceModifyItemModReq_t*) calloc(
1, sizeof(Ngap_PDUSessionResourceModifyItemModReq_t)); 1, sizeof(Ngap_PDUSessionResourceModifyItemModReq_t));
if (!request) return false; if (!item) return false;
if (!pdu.encode2PDUSessionResourceModifyItemModReq(*request)) return false; if (!pdu.encode(*item)) return false;
if (ASN_SEQUENCE_ADD(&m_pduSessionResourceModifyListModReq.list, request) != if (ASN_SEQUENCE_ADD(
0) &pdu_session_resource_modify_list_mod_req.list, item) != 0)
return false; return false;
} }
...@@ -60,31 +55,27 @@ bool PDUSessionResourceModifyListModReq:: ...@@ -60,31 +55,27 @@ bool PDUSessionResourceModifyListModReq::
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
bool PDUSessionResourceModifyListModReq:: bool PDUSessionResourceModifyListModReq::decode(
decodefromPDUSessionResourceModifyListModReq(
Ngap_PDUSessionResourceModifyListModReq_t& Ngap_PDUSessionResourceModifyListModReq_t&
pduSessionResourceSetupListSUReq) { pdu_session_resource_modify_list_mod_req) {
uint32_t numberofPDUSessions = pduSessionResourceSetupListSUReq.list.count; uint32_t numberofPDUSessions =
pdu_session_resource_modify_list_mod_req.list.count;
for (int i = 0; i < numberofPDUSessions; i++) { for (int i = 0; i < numberofPDUSessions; i++) {
PDUSessionResourceModifyItemModReq pduSessionResourceModifyItemModReq = {}; PDUSessionResourceModifyItemModReq item = {};
if (!pduSessionResourceModifyItemModReq if (!item.decode(*pdu_session_resource_modify_list_mod_req.list.array[i]))
.decodefromPDUSessionResourceModifyItemModReq(
*pduSessionResourceSetupListSUReq.list.array[i]))
return false; return false;
pduSessionResourceModifyListModReq.push_back( item_list_.push_back(item);
pduSessionResourceModifyItemModReq);
} }
return true; return true;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void PDUSessionResourceModifyListModReq::getPDUSessionResourceModifyListModReq( void PDUSessionResourceModifyListModReq::get(
std::vector<PDUSessionResourceModifyItemModReq>& std::vector<PDUSessionResourceModifyItemModReq>& list) {
m_pduSessionResourceModifyListModReq) { list = item_list_;
m_pduSessionResourceModifyListModReq = pduSessionResourceModifyListModReq;
} }
} // namespace ngap } // namespace ngap
...@@ -36,22 +36,15 @@ class PDUSessionResourceModifyListModReq { ...@@ -36,22 +36,15 @@ class PDUSessionResourceModifyListModReq {
PDUSessionResourceModifyListModReq(); PDUSessionResourceModifyListModReq();
virtual ~PDUSessionResourceModifyListModReq(); virtual ~PDUSessionResourceModifyListModReq();
void setPDUSessionResourceModifyListModReq( void set(const std::vector<PDUSessionResourceModifyItemModReq>& list);
const std::vector<PDUSessionResourceModifyItemModReq>& void get(std::vector<PDUSessionResourceModifyItemModReq>& list);
m_pduSessionResourceModifyListModReq); bool encode(Ngap_PDUSessionResourceModifyListModReq_t&
void getPDUSessionResourceModifyListModReq( pdu_session_resource_modify_list_mod_req);
std::vector<PDUSessionResourceModifyItemModReq>& bool decode(Ngap_PDUSessionResourceModifyListModReq_t&
m_pduSessionResourceModifyListModReq); pdu_session_resource_modify_list_mod_req);
bool encode2PDUSessionResourceModifyListModReq(
Ngap_PDUSessionResourceModifyListModReq_t&
m_pduSessionResourceModifyListModReq);
bool decodefromPDUSessionResourceModifyListModReq(
Ngap_PDUSessionResourceModifyListModReq_t&
m_pduSessionResourceModifyListModReq);
private: private:
std::vector<PDUSessionResourceModifyItemModReq> std::vector<PDUSessionResourceModifyItemModReq> item_list_;
pduSessionResourceModifyListModReq;
}; };
} // namespace ngap } // namespace ngap
......
...@@ -144,20 +144,23 @@ void PduSessionResourceModifyRequestMsg::setPduSessionResourceModifyRequestList( ...@@ -144,20 +144,23 @@ void PduSessionResourceModifyRequestMsg::setPduSessionResourceModifyRequestList(
if (list[i].pduSessionNAS_PDU) { if (list[i].pduSessionNAS_PDU) {
nAS_PDU.set(list[i].pduSessionNAS_PDU, list[i].sizeofpduSessionNAS_PDU); nAS_PDU.set(list[i].pduSessionNAS_PDU, list[i].sizeofpduSessionNAS_PDU);
} }
S_NSSAI s_NSSAI = {}; std::optional<S_NSSAI> s_NSSAI = std::nullopt;
s_NSSAI.setSd(list[i].s_nssai.sd); if (list[i].s_nssai.has_value()) {
s_NSSAI.setSst(list[i].s_nssai.sst); S_NSSAI tmp = {};
tmp.setSd(list[i].s_nssai.value().sd);
tmp.setSst(list[i].s_nssai.value().sst);
s_NSSAI = std::optional<S_NSSAI>(tmp);
}
PDUSessionResourceModifyItemModReq item = {}; PDUSessionResourceModifyItemModReq item = {};
item.setPDUSessionResourceModifyItemModReq( item.set(
pDUSessionID, nAS_PDU, list[i].pduSessionResourceModifyRequestTransfer, pDUSessionID, nAS_PDU, list[i].pduSessionResourceModifyRequestTransfer,
s_NSSAI); s_NSSAI);
m_pduSessionResourceModifyItemModReq.push_back(item); m_pduSessionResourceModifyItemModReq.push_back(item);
} }
pduSessionResourceModifyList.setPDUSessionResourceModifyListModReq( pduSessionResourceModifyList.set(m_pduSessionResourceModifyItemModReq);
m_pduSessionResourceModifyItemModReq);
Ngap_PDUSessionResourceModifyRequestIEs_t* ie = Ngap_PDUSessionResourceModifyRequestIEs_t* ie =
(Ngap_PDUSessionResourceModifyRequestIEs_t*) calloc( (Ngap_PDUSessionResourceModifyRequestIEs_t*) calloc(
...@@ -167,8 +170,7 @@ void PduSessionResourceModifyRequestMsg::setPduSessionResourceModifyRequestList( ...@@ -167,8 +170,7 @@ void PduSessionResourceModifyRequestMsg::setPduSessionResourceModifyRequestList(
ie->value.present = ie->value.present =
Ngap_PDUSessionResourceModifyRequestIEs__value_PR_PDUSessionResourceModifyListModReq; Ngap_PDUSessionResourceModifyRequestIEs__value_PR_PDUSessionResourceModifyListModReq;
int ret = int ret = pduSessionResourceModifyList.encode(
pduSessionResourceModifyList.encode2PDUSessionResourceModifyListModReq(
ie->value.choice.PDUSessionResourceModifyListModReq); ie->value.choice.PDUSessionResourceModifyListModReq);
if (!ret) { if (!ret) {
Logger::ngap().error( Logger::ngap().error(
...@@ -190,26 +192,31 @@ bool PduSessionResourceModifyRequestMsg::getPduSessionResourceModifyRequestList( ...@@ -190,26 +192,31 @@ bool PduSessionResourceModifyRequestMsg::getPduSessionResourceModifyRequestList(
std::vector<PDUSessionResourceModifyItemModReq> std::vector<PDUSessionResourceModifyItemModReq>
m_pduSessionResourceModifyItemModReq; m_pduSessionResourceModifyItemModReq;
int num = 0; int num = 0;
pduSessionResourceModifyList.getPDUSessionResourceModifyListModReq( pduSessionResourceModifyList.get(m_pduSessionResourceModifyItemModReq);
m_pduSessionResourceModifyItemModReq);
for (int i = 0; i < m_pduSessionResourceModifyItemModReq.size(); i++) { for (int i = 0; i < m_pduSessionResourceModifyItemModReq.size(); i++) {
PDUSessionResourceModifyRequestItem_t request = {}; PDUSessionResourceModifyRequestItem_t request = {
.pduSessionNAS_PDU = nullptr, .sizeofpduSessionNAS_PDU = 0};
PDUSessionID pDUSessionID = {}; PDUSessionID pDUSessionID = {};
NAS_PDU nAS_PDU = {}; std::optional<NAS_PDU> nAS_PDU = std::nullopt;
S_NSSAI s_NSSAI = {}; std::optional<S_NSSAI> s_NSSAI = std::nullopt;
m_pduSessionResourceModifyItemModReq[i] m_pduSessionResourceModifyItemModReq[i].get(
.getPDUSessionResourceModifyItemModReq( pDUSessionID, nAS_PDU, request.pduSessionResourceModifyRequestTransfer,
pDUSessionID, nAS_PDU, s_NSSAI);
request.pduSessionResourceModifyRequestTransfer, s_NSSAI);
pDUSessionID.get(request.pduSessionId); pDUSessionID.get(request.pduSessionId);
if (nAS_PDU.has_value())
nAS_PDU.value().get(
request.pduSessionNAS_PDU, request.sizeofpduSessionNAS_PDU);
if (s_NSSAI.has_value()) {
S_Nssai tmp = {};
s_NSSAI.value().getSd(tmp.sd);
s_NSSAI.value().getSst(tmp.sst);
request.s_nssai = std::optional<S_Nssai>(tmp);
}
nAS_PDU.get(request.pduSessionNAS_PDU, request.sizeofpduSessionNAS_PDU);
s_NSSAI.getSd(request.s_nssai.sd);
s_NSSAI.getSst(request.s_nssai.sst);
list.push_back(request); list.push_back(request);
} }
...@@ -304,10 +311,8 @@ bool PduSessionResourceModifyRequestMsg::decodeFromPdu( ...@@ -304,10 +311,8 @@ bool PduSessionResourceModifyRequestMsg::decodeFromPdu(
pduSessionResourceModifyRequestIEs->protocolIEs.list.array[i] pduSessionResourceModifyRequestIEs->protocolIEs.list.array[i]
->value.present == ->value.present ==
Ngap_PDUSessionResourceModifyRequestIEs__value_PR_PDUSessionResourceModifyListModReq) { Ngap_PDUSessionResourceModifyRequestIEs__value_PR_PDUSessionResourceModifyListModReq) {
if (!pduSessionResourceModifyList if (!pduSessionResourceModifyList.decode(
.decodefromPDUSessionResourceModifyListModReq( pduSessionResourceModifyRequestIEs->protocolIEs.list.array[i]
pduSessionResourceModifyRequestIEs->protocolIEs.list
.array[i]
->value.choice.PDUSessionResourceModifyListModReq)) { ->value.choice.PDUSessionResourceModifyListModReq)) {
Logger::ngap().error( Logger::ngap().error(
"Decoded NGAP PDUSessionResourceModifyListModReq IE error"); "Decoded NGAP PDUSessionResourceModifyListModReq IE error");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment