I'm trying to add handling of radio link failure to the LTE module, following Nicola's suggestions (
).
Regardless of how RLF is handled, I am trying right now to build the signaling from Phy to MAC layer. I did the following:
1. Added
virtual void NotifyInSync() = 0;
virtual void NotifyOutOfSync() = 0;
to class LteUeCphySapUser.
2. From LteUePhy::GenerateCtrlCqiReport I'm using
m_ueCphySapUser->NotifyInSync();
and
m_ueCphySapUser->NotifyOutOfSync();
to notify in-sync and out-of-sync.
3. Added
void DoNotifyInSync();
void DoNotifyOutOfSync();
to class LteUeRrc and empty body (for now) in the implementation part (.cc file)
I'm getting the following:
In file included from ../src/lte/model/lte-ue-rrc.h:30:0,
from ../src/lte/model/lte-ue-rrc.cc:22:
./ns3/lte-ue-cphy-sap.h:340:7: note: because the following virtual functions are pure within ‘ns3::MemberLteUeCphySapUser<ns3::LteUeRrc>’:
class MemberLteUeCphySapUser : public LteUeCphySapUser
^
./ns3/lte-ue-cphy-sap.h:211:16: note: virtual void ns3::LteUeCphySapUser::NotifyInSync()
virtual void NotifyInSync() = 0;
^
./ns3/lte-ue-cphy-sap.h:216:16: note: virtual void ns3::LteUeCphySapUser::NotifyOutOfSync()
virtual void NotifyOutOfSync() = 0;
^
../src/lte/model/lte-ue-rrc.cc: At global scope:
../src/lte/model/lte-ue-rrc.cc:2836:24: error: no ‘void ns3::LteUeRrc::NotifyInSync()’ member function declared in class ‘ns3::LteUeRrc’
LteUeRrc::NotifyInSync()
^
../src/lte/model/lte-ue-rrc.cc:2842:27: error: no ‘void ns3::LteUeRrc::NotifyOutOfSync()’ member function declared in class ‘ns3::LteUeRrc’
LteUeRrc::NotifyOutOfSync()
If I make the two functions NotifyInSync and NotifyOutOfSync non-virtual, the build process goes on for a little bit more, and terminates with this message:
[2223/2377] cxxprogram: build/src/lte/examples/lena-intercell-interference.cc.4.o -> build/src/lte/examples/ns3-dev-lena-intercell-interference-debug
./libns3-dev-lte-debug.so: undefined reference to `ns3::LteUeCphySapUser::NotifyOutOfSync()'
./libns3-dev-lte-debug.so: undefined reference to `ns3::LteUeCphySapUser::NotifyInSync()'
collect2: error: ld returned 1 exit status