PhyEnbD2D.h Source File

Simu5G: PhyEnbD2D.h Source File
Simu5G
PhyEnbD2D.h
1//
2// Simu5G
3//
4// Copyright (C) 2012-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa)
5// Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa)
6//
7// This file is part of a software released under the license included in file
8// "license.pdf". Please read LICENSE and README files before using it.
9// The above files and the present reference are part of the software itself,
10// and cannot be removed from it.
11//
12
13#ifndef _PHYENBD2D_H_
14#define _PHYENBD2D_H_
15
16#include "simu5g/stack/phy/PhyEnb.h"
17
18namespace simu5g {
19
20using namespace omnetpp;
21
22class D2dBinder;
23
33class PhyEnbD2D : public PhyEnb
34{
35 bool enableD2DCqiReporting_;
36
37 // holder of the global D2D state
38 inet::ModuleRefByPar<D2dBinder> d2dBinder_;
39
40 protected:
41 void initialize(int stage) override;
42
43 void appendExtraFeedback(inet::Ptr<LteFeedbackPkt>& header, UserControlInfo *lteinfo, LteAirFrame *frame, ChannelModelBase *channelModel) override;
44
45 const char *airFrameNameFor(const UserControlInfo *info) override
46 {
47 if (info->getFrameType() == D2DMODESWITCHPKT)
48 return "d2dModeSwitch";
49 return PhyEnb::airFrameNameFor(info);
50 }
51
52 short airFramePriorityFor(const UserControlInfo *info) override
53 {
54 if (info->getFrameType() == D2DMODESWITCHPKT)
55 return -1;
56 return PhyEnb::airFramePriorityFor(info);
57 }
58};
59
60} //namespace
61
62#endif /* _PHYENBD2D_H_ */
Definition ChannelModelBase.h:145
Definition D2dBinder.h:45
Definition PhyEnbD2D.h:34
Definition AlertReceiver.h:24