53 inet::UdpSocket socket;
56 simtime_t lifeCyclePeriod_;
59 inet::L3Address deviceAppAddress_;
62 inet::L3Address mecAppAddress_;
65 std::string mecAppName;
69 KIND_SELF_RT_VIDEO_STREAMING_APP_START = 1000,
70 KIND_SELF_RT_VIDEO_STREAMING_APP_STOP,
71 KIND_SELF_MEC_APP_START,
72 KIND_SELF_MEC_APP_STOP,
73 KIND_SELF_SESSION_START,
74 KIND_SELF_SESSION_STOP,
76 KIND_SELF_MOBILITY_STATS,
79 cMessage *selfRTVideoStreamingAppStart_ =
nullptr;
80 cMessage *selfRTVideoStreamingAppStop_ =
nullptr;
82 cMessage *selfMecAppStart_ =
nullptr;
83 cMessage *selfMecAppStop_ =
nullptr;
85 cMessage *selfSessionStart_ =
nullptr;
86 cMessage *selfSessionStop_ =
nullptr;
88 inet::UdpSocket videoStreamSocket_;
94 std::ifstream _inputFileStream;
97 cMessage *_nextFrame =
nullptr;
102 double _initialDelay;
107 double _framesPerSecond;
113 unsigned long _frameNumber = 0;
114 unsigned long _sequenceNumber = 0;
118 bool sendAllOnOneTime_;
121 opp_component_ptr<cModule> ue;
122 inet::ModuleRefByPar<inet::IMobility> mobility;
123 inet::Coord position;
124 cMessage *mobilityStats_ =
nullptr;
126 static simsignal_t positionSignalXSignal_;
127 static simsignal_t positionSignalYSignal_;
128 static simsignal_t positionSignalZSignal_;
130 static simsignal_t velocitySignal_;
131 double mobilityUpdateInterval_;
133 FragmentedFrameStatus fragFrameStatus_;
140 int numInitStages()
const override {
return inet::NUM_INIT_STAGES; }
141 void initialize(
int stage)
override;
142 void handleMessage(cMessage *msg)
override;
145 void sendStartMecApp();
146 void sendStopMecApp();
149 void sendStartMessage();
150 void sendStopMessage();
151 void sendSessionStopMessage();
152 void sendSessionStartMessage();
155 void handleStartAck(inet::Packet *packet);
156 void handleStartNack(inet::Packet *packet);
158 void handleStopAck(inet::Packet *packet);
159 void handleStopNack(inet::Packet *packet);
161 void handleStartSessionAck(inet::Packet *packet);
162 void handleStartSessionNack(inet::Packet *packet);
164 void handleStopSessionAck(inet::Packet *packet);
165 void handleStopSessionNack(inet::Packet *packet);
167 void handleAckStartMecApp(inet::Packet *packet);
168 void handleInfoMecApp(inet::Packet *packet);
169 void handleAckStopMecApp(inet::Packet *packet);
172 void socketDataArrived(inet::UdpSocket *socket, inet::Packet *packet)
override;
173 void socketErrorArrived(inet::UdpSocket *socket, inet::Indication *indication)
override;
174 void socketClosed(inet::UdpSocket *socket)
override;
176 void openFileStream();
177 void initializeVideoStream();