Loading...
Searching...
No Matches
satellite-control-message.h
Go to the documentation of this file.
1/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2013 Magister Solutions Ltd
4 * Copyright (c) 2018 CNES
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation;
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * Author: Sami Rantanen <sami.rantanen@magister.fi>
20 * Author: Mathias Ettinger <mettinger@toulouse.viveris.com>
21 */
22
23#ifndef SATELLITE_CONTROL_MESSAGE_H
24#define SATELLITE_CONTROL_MESSAGE_H
25
26#include "satellite-enums.h"
28#include "satellite-mac-tag.h"
29
30#include "ns3/header.h"
31#include "ns3/mac48-address.h"
32#include "ns3/nstime.h"
33#include "ns3/object.h"
34#include "ns3/simulator.h"
35
36#include <map>
37#include <ostream>
38#include <set>
39#include <stdint.h>
40#include <utility>
41#include <vector>
42
43namespace ns3
44{
45
51class SatControlMsgTag : public Tag
52{
53 public:
74
79
84
91
97
102 virtual void SetMsgId(uint32_t msgId);
103
108 virtual uint32_t GetMsgId() const;
109
113 static TypeId GetTypeId(void);
114
119 virtual TypeId GetInstanceTypeId(void) const;
120
125 virtual uint32_t GetSerializedSize(void) const;
126
131 virtual void Serialize(TagBuffer i) const;
132
137 virtual void Deserialize(TagBuffer i);
138
143 virtual void Print(std::ostream& os) const;
144
145 private:
147 uint32_t m_msgId;
148};
149
155
156class SatControlMessage : public Object
157{
158 public:
162 static TypeId GetTypeId(void);
163
168 {
169 }
170
175 {
176 }
177
184 virtual uint32_t GetSizeInBytes() const = 0;
185
192
193 private:
194};
195
204
206{
207 public:
211 typedef std::vector<Ptr<SatTimeSlotConf>> DaTimeSlotConfContainer_t;
212
219 typedef std::pair<uint8_t, DaTimeSlotConfContainer_t> DaTimeSlotInfoItem_t;
220
226 typedef std::set<uint8_t> RaChannelInfoContainer_t;
227
240 static const uint32_t m_tbtpBodySizeInBytes = 6;
241
251 static const uint32_t m_tbtpFrameBodySizeInBytes = 5;
252
256 static TypeId GetTypeId(void);
257
262
267 SatTbtpMessage(uint8_t seqId);
268
273
283
289 inline void SetSuperframeCounter(uint32_t counter)
290 {
291 m_superframeCounter = counter;
292 }
293
299 inline uint8_t GetSuperframeSeqId()
300 {
301 return m_superframeSeqId;
302 }
303
309 inline uint32_t GetSuperframeCounter()
310 {
311 return m_superframeCounter;
312 }
313
319 inline uint32_t GetFrameInfoSize() const
320 {
322 }
323
330 const DaTimeSlotInfoItem_t& GetDaTimeslots(Address utId);
331
339 void SetDaTimeslot(Mac48Address utId, uint8_t frameId, Ptr<SatTimeSlotConf> conf);
340
347
355 void SetRaChannel(uint32_t raChannel, uint8_t frameId, uint16_t timeSlotCount);
356
362 virtual uint32_t GetSizeInBytes() const;
363
369 uint32_t GetTimeSlotInfoSizeInBytes() const;
370
374 void Dump() const;
375
376 private:
377 typedef std::map<uint8_t, uint16_t> RaChannelMap_t;
378 typedef std::map<Address, DaTimeSlotInfoItem_t> DaTimeSlotMap_t;
379
385 std::set<uint8_t> m_frameIds;
386
391};
392
402{
403 public:
409
413 SatCrMessage();
414
419
423 static TypeId GetTypeId(void);
424
428 typedef std::pair<uint8_t, SatEnums::SatCapacityAllocationCategory_t> RequestDescriptor_t;
429
433 typedef std::map<RequestDescriptor_t, uint16_t> RequestContainer_t;
434
443
447 void AddControlElement(uint8_t rcIndex,
449 uint32_t value);
450
456
461 uint32_t GetNumCapacityRequestElements() const;
462
467 double GetCnoEstimate() const;
468
473 void SetCnoEstimate(double cno);
474
479 virtual uint32_t GetSizeInBytes() const;
480
485 bool IsNotEmpty() const;
486
487 private:
489
497
502
506 static const uint32_t CONTROL_MSG_TYPE_VALUE_SIZE_IN_BYTES = 1;
507
514};
515
522
524{
525 public:
530
535
539 static TypeId GetTypeId(void);
540
549
554 void SetSequenceNumber(uint8_t sn);
555
560 uint8_t GetSequenceNumber() const;
561
566 void SetFlowId(uint8_t sn);
567
572 uint8_t GetFlowId() const;
573
578 virtual uint32_t GetSizeInBytes() const;
579
580 private:
582 uint8_t m_flowId;
583};
584
592
594{
595 public:
600
605
609 static TypeId GetTypeId(void);
610
620
625 double GetCnoEstimate() const;
626
631 void SetCnoEstimate(double cno);
632
637 virtual uint32_t GetSizeInBytes() const;
638
639 private:
643 double m_linkCNo;
644};
645
651
653{
654 public:
658 SatRaMessage();
659
664
668 static TypeId GetTypeId(void);
669
679
684 uint16_t GetBackoffProbability() const;
685
690 void SetBackoffProbability(uint16_t backoffProbability);
691
696 uint16_t GetBackoffTime() const;
697
702 void SetBackoffTime(uint16_t backoffTime);
703
708 uint8_t GetAllocationChannelId() const;
709
714 void SetAllocationChannelId(uint8_t allocationChannel);
715
720 virtual uint32_t GetSizeInBytes() const;
721
722 private:
726 static const uint32_t RA_CONTROL_MSG_HEADER_SIZE_IN_BYTES = 5;
727
732
737
742};
743
749
751{
752 public:
757
762
766 static TypeId GetTypeId(void);
767
777
782 uint32_t GetAllocatedBeamId() const;
783
788 void SetAllocatedBeamId(uint32_t beamId);
789
794 uint32_t GetAllocatedSatId() const;
795
800 void SetAllocatedSatId(uint32_t beamId);
801
802 Address GetSatAddress() const;
803
804 void SetSatAddress(Address address);
805
806 Address GetGwAddress() const;
807
808 void SetGwAddress(Address address);
809
814 virtual uint32_t GetSizeInBytes() const;
815
816 private:
820 uint32_t m_beamId;
821
825 uint32_t m_satId;
826
831
835 Address m_gwAddress;
836};
837
843
845{
846 public:
851
856
860 static TypeId GetTypeId(void);
861
871
876 uint32_t GetRecommendedBeamId() const;
877
882 void SetRecommendedBeamId(uint32_t beamId);
883
888 uint32_t GetRecommendedSatId() const;
889
894 void SetRecommendedSatId(uint32_t beamId);
895
900 virtual uint32_t GetSizeInBytes() const;
901
902 private:
906 uint32_t m_beamId;
907
911 uint32_t m_satId;
912};
913
920{
921 public:
926
931
935 static TypeId GetTypeId(void);
936
946
951 uint32_t GetSliceId() const;
952
957 void SetSliceId(uint8_t sliceId);
958
963 Mac48Address GetAddress() const;
964
969 void SetAddress(Mac48Address address);
970
975 virtual uint32_t GetSizeInBytes() const;
976
977 private:
981 uint8_t m_sliceId;
982
986 Mac48Address m_address;
987};
988
995{
996 public:
1001
1006
1010 static TypeId GetTypeId(void);
1011
1021
1026 virtual uint32_t GetSizeInBytes() const;
1027
1028 private:
1029};
1030
1037{
1038 public:
1043
1048
1052 static TypeId GetTypeId(void);
1053
1063
1068 uint32_t GetRaChannel() const;
1069
1074 void SetRaChannel(uint32_t raChannel);
1075
1080 virtual uint32_t GetSizeInBytes() const;
1081
1082 private:
1084 uint32_t m_raChannel;
1085};
1086
1093{
1094 public:
1099
1104
1108 static TypeId GetTypeId(void);
1109
1119
1124 virtual uint32_t GetSizeInBytes() const;
1125
1126 private:
1127};
1128
1134{
1135 public:
1139 SatNcrMessage();
1140
1145
1149 static TypeId GetTypeId(void);
1150
1160
1165 uint64_t GetNcrDate() const;
1166
1171 void SetNcrDate(uint64_t ncr);
1172
1177 virtual uint32_t GetSizeInBytes() const;
1178
1179 private:
1182};
1183
1190{
1191 public:
1195 SatCmtMessage();
1196
1201
1205 static TypeId GetTypeId(void);
1206
1216
1221 uint8_t GetGroupId() const;
1222
1227 void SetGroupId(uint8_t groupId);
1228
1233 uint8_t GetLogonId() const;
1234
1239 void SetLogonId(uint8_t logonId);
1240
1245 int16_t GetBurstTimeCorrection() const;
1246
1251 void SetBurstTimeCorrection(int32_t burstTimeCorrection);
1252
1259 uint8_t GetPowerCorrection() const;
1260
1267 void SetPowerCorrection(uint8_t powerCorrection);
1268
1273 int16_t GetFrequencyCorrection() const;
1274
1279 void SetFrequencyCorrection(int16_t frequencyCorrection);
1280
1285 virtual uint32_t GetSizeInBytes() const;
1286
1287 private:
1288 uint8_t m_groupId;
1289 uint8_t m_logonId;
1294};
1295
1314class SatControlMsgContainer : public SimpleRefCount<SatControlMsgContainer>
1315{
1316 public:
1321
1325 SatControlMsgContainer(Time m_storeTime, bool deleteOnRead);
1326
1331
1338 uint32_t ReserveIdAndStore(Ptr<SatControlMessage> controlMsg);
1339
1346 uint32_t Send(uint32_t sendId);
1347
1354 Ptr<SatControlMessage> Read(uint32_t recvId);
1355
1356 private:
1361 void EraseFirst();
1362
1368 void CleanUpIdMap(uint32_t recvId);
1369
1370 typedef std::map<uint32_t, Ptr<SatControlMessage>> ReservedCtrlMsgMap_t;
1371 typedef std::map<uint32_t, uint32_t> CtrlIdMap_t;
1372 typedef std::pair<Time, Ptr<SatControlMessage>> CtrlMsgMapValue_t;
1373 typedef std::map<uint32_t, CtrlMsgMapValue_t> CtrlMsgMap_t;
1374
1378 uint32_t m_sendId;
1379 uint32_t m_recvId;
1381
1389
1394};
1395
1396} // namespace ns3
1397
1398#endif // SATELLITE_CONTROL_MESSAGE_H
uint8_t GetFlowId() const
Get the sequence number to be ACK'ed.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
virtual uint32_t GetSizeInBytes() const
Get real size of the ACK message, which can be used to e.g.
void SetSequenceNumber(uint8_t sn)
Set the sequence number to be ACK'ed.
void SetFlowId(uint8_t sn)
Set the flow id to be ACK'ed.
static TypeId GetTypeId(void)
methods derived from base classes
uint8_t GetSequenceNumber() const
Get the sequence number to be ACK'ed.
SatArqAckMessage()
Constructor for SatArqAckMessage.
~SatArqAckMessage()
Destructor for SatArqAckMessage.
int16_t GetFrequencyCorrection() const
Get the frequency correction.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
SatCmtMessage()
Constructor for SatCmtMessage.
uint8_t GetGroupId() const
Get the group ID.
void SetPowerCorrection(uint8_t powerCorrection)
Set the power correction.
~SatCmtMessage()
Destructor for SatCmtMessage.
void SetGroupId(uint8_t groupId)
Set the group ID.
void SetLogonId(uint8_t logonId)
Set the logon ID.
static TypeId GetTypeId(void)
methods derived from base classes
uint8_t GetLogonId() const
Get the logon ID.
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
void SetBurstTimeCorrection(int32_t burstTimeCorrection)
Set the burst time correction.
void SetFrequencyCorrection(int16_t frequencyCorrection)
Set the frequency correction.
uint8_t GetPowerCorrection() const
Get the powercorrection.
int16_t GetBurstTimeCorrection() const
Get the burst time correction.
void SetCnoEstimate(double cno)
Set C/N0 estimate.
double GetCnoEstimate() const
Get C/N0 estimate.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
virtual uint32_t GetSizeInBytes() const
Get real size of the CR message, which can be used to e.g.
SatCnoReportMessage()
Constructor for SatCnoReportMessage.
~SatCnoReportMessage()
Destructor for SatCnoReportMessage.
static TypeId GetTypeId(void)
methods derived from base classes
virtual uint32_t GetSizeInBytes() const =0
Get real size of the control message.
static TypeId GetTypeId(void)
methods derived from base classes
SatControlMessage()
Default constructor for SatControlMessage.
virtual SatControlMsgTag::SatControlMsgType_t GetMsgType() const =0
Get message specific type.
Ptr< SatControlMessage > Read(uint32_t recvId)
Read a control message.
std::map< uint32_t, Ptr< SatControlMessage > > ReservedCtrlMsgMap_t
std::map< uint32_t, CtrlMsgMapValue_t > CtrlMsgMap_t
bool m_deleteOnRead
Flag to tell, if message is deleted from container when read (get).
uint32_t Send(uint32_t sendId)
Add a control message.
void CleanUpIdMap(uint32_t recvId)
Do clean up for the Ctrl msg id map.
uint32_t ReserveIdAndStore(Ptr< SatControlMessage > controlMsg)
Reserve an id and store a control message.
~SatControlMsgContainer()
Destructor for SatControlMsgContainer.
std::pair< Time, Ptr< SatControlMessage > > CtrlMsgMapValue_t
std::map< uint32_t, uint32_t > CtrlIdMap_t
SatControlMsgContainer()
Default constructor for SatControlMsgContainer.
Time m_storeTime
Time to store a message in container.
void EraseFirst()
Erase first item from container.
~SatControlMsgTag()
Destructor for SatControlMsgTag.
virtual void Serialize(TagBuffer i) const
Serializes information to buffer from this instance of methods.
virtual uint32_t GetSerializedSize(void) const
Get serialized size of methods.
virtual void Print(std::ostream &os) const
Print time stamp of this instance of methods.
static TypeId GetTypeId(void)
methods derived from base classes
SatControlMsgType_t
Definition for different types of control messages.
@ SAT_LOGON_RESPONSE_CTRL_MSG
SAT_LOGON_RESPONSE_CTRL_MSG.
@ SAT_SLICE_CTRL_MSG
SAT_SLICE_CTRL_MSG.
@ SAT_TIMU_CTRL_MSG
SAT_TIMU_CTRL_MSG.
@ SAT_LOGOFF_CTRL_MSG
SAT_LOGOFF CTRL_MSG.
@ SAT_NON_CTRL_MSG
SAT_NON_CTRL_MSG.
@ SAT_LOGON_CTRL_MSG
SAT_LOGON_CTRL_MSG.
@ SAT_CMT_CTRL_MSG
SAT_CMT_CTRL_MSG.
@ SAT_TBTP_CTRL_MSG
SAT_TBTP_CTRL_MSG.
@ SAT_NCR_CTRL_MSG
SAT_NCR_CTRL_MSG.
virtual uint32_t GetMsgId() const
Get message type specific identifier.
void SetMsgType(SatControlMsgType_t type)
Set type of the control message.
SatControlMsgType_t GetMsgType(void) const
Get type of the control message.
virtual TypeId GetInstanceTypeId(void) const
Get the type ID of instance.
virtual void SetMsgId(uint32_t msgId)
Set message type specific identifier.
virtual void Deserialize(TagBuffer i)
Deserializes information from buffer to this instance of methods.
SatControlMsgTag()
Constructor for SatControlMsgTag.
static TypeId GetTypeId(void)
methods derived from base classes
virtual uint32_t GetSizeInBytes() const
Get real size of the CR message, which can be used to e.g.
RequestContainer_t m_requestData
std::map< RequestDescriptor_t, uint16_t > RequestContainer_t
Define type RequestContainer_t.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
SatCrMessage()
Constructor for SatCrMessage.
static const uint32_t CONTROL_MSG_COMMON_HEADER_SIZE_IN_BYTES
RCST_status + power headroom = 1 Byte CNI = 1 Byte Least margin transmission mode request = 1 Byte.
uint32_t GetNumCapacityRequestElements() const
The number of capacity request elements.
static const uint32_t CONTROL_MSG_TYPE_VALUE_SIZE_IN_BYTES
Type field of the CR control element.
void SetCnoEstimate(double cno)
Set C/N0 estimate.
const RequestContainer_t GetCapacityRequestContent() const
Get the capacity request content.
std::pair< uint8_t, SatEnums::SatCapacityAllocationCategory_t > RequestDescriptor_t
Define type RequestDescriptor_t.
~SatCrMessage()
Destructor for SatCrMessage.
void AddControlElement(uint8_t rcIndex, SatEnums::SatCapacityAllocationCategory_t cac, uint32_t value)
Add a control element to capacity request.
bool IsNotEmpty() const
Has the CR non-zero content.
SatCrBlockSize_t m_crBlockSizeType
Control element size is defined by attribute.
double GetCnoEstimate() const
Get C/N0 estimate.
double m_forwardLinkCNo
C/N0 estimate.
SatCapacityAllocationCategory_t
Definition for different types of Capacity Request (CR) messages.
~SatHandoverRecommendationMessage()
Destructor for SatRaMessage.
uint32_t GetRecommendedBeamId() const
Get the recommended beam ID.
uint32_t GetRecommendedSatId() const
Get the recommended sat ID.
void SetRecommendedBeamId(uint32_t beamId)
Set recommended beam ID.
void SetRecommendedSatId(uint32_t beamId)
Set recommended sat ID.
virtual uint32_t GetSizeInBytes() const
Get real size of the random access message, which can be used to e.g.
SatHandoverRecommendationMessage()
Constructor for SatRaMessage.
static TypeId GetTypeId(void)
methods derived from base classes
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
SatLogoffMessage()
Constructor for SatLogoffMessage.
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
~SatLogoffMessage()
Destructor for SatLogoffMessage.
static TypeId GetTypeId(void)
methods derived from base classes
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
~SatLogonMessage()
Destructor for SatLogonMessage.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
static TypeId GetTypeId(void)
methods derived from base classes
SatLogonMessage()
Constructor for SatLogonMessage.
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
uint32_t GetRaChannel() const
Get the RA channel to talk into.
void SetRaChannel(uint32_t raChannel)
Set the RA channel to talk into.
~SatLogonResponseMessage()
Destructor for SatLogonResponseMessage.
static TypeId GetTypeId(void)
methods derived from base classes
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
SatLogonResponseMessage()
Constructor for SatLogonResponseMessage.
void SetNcrDate(uint64_t ncr)
Set the NCR date (ticks 27MHz).
~SatNcrMessage()
Destructor for SatNcrMessage.
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
SatNcrMessage()
Constructor for SatNcrMessage.
static TypeId GetTypeId(void)
methods derived from base classes
uint64_t GetNcrDate() const
Get the NCR date (ticks 27MHz).
uint8_t GetAllocationChannelId() const
Get allocation chanel ID.
void SetBackoffProbability(uint16_t backoffProbability)
Set backoff probability.
uint16_t m_backoffProbability
Backoff probability.
static TypeId GetTypeId(void)
methods derived from base classes
SatRaMessage()
Constructor for SatRaMessage.
uint16_t GetBackoffProbability() const
Get backoff probability.
void SetAllocationChannelId(uint8_t allocationChannel)
Set allocation channel ID.
uint16_t GetBackoffTime() const
Get backoff time.
uint8_t m_allocationChannelId
Allocation channel ID.
static const uint32_t RA_CONTROL_MSG_HEADER_SIZE_IN_BYTES
Common header of the random access element.
virtual uint32_t GetSizeInBytes() const
Get real size of the random access message, which can be used to e.g.
void SetBackoffTime(uint16_t backoffTime)
Set backoff time.
uint16_t m_backoffTime
Backoff time.
~SatRaMessage()
Destructor for SatRaMessage.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
static TypeId GetTypeId(void)
methods derived from base classes
Mac48Address m_address
Address associated to this slice.
uint32_t GetSliceId() const
Get the new slice to subscribe.
void SetAddress(Mac48Address address)
Set the address associated to this slice.
Mac48Address GetAddress() const
Get the ddress associated to this slice.
virtual uint32_t GetSizeInBytes() const
Get real size of the message.
uint8_t m_sliceId
New slice to subscribe.
~SatSliceSubscriptionMessage()
Destructor for SatRaMessage.
SatSliceSubscriptionMessage()
Constructor for SatRaMessage.
void SetSliceId(uint8_t sliceId)
Set the new slice to subscribe.
SatTbtpMessage()
Default constructor for SatTbtpHeader.
std::map< uint8_t, uint16_t > RaChannelMap_t
static const uint32_t m_tbtpFrameBodySizeInBytes
Size of the frame body.
~SatTbtpMessage()
Destructor for SatTbtpHeader.
void Dump() const
Dump all the contents of the TBTP.
void SetRaChannel(uint32_t raChannel, uint8_t frameId, uint16_t timeSlotCount)
Set a RA time slot information.
uint32_t GetFrameInfoSize() const
Get size of frame info size in this TBTP message.
uint32_t GetSuperframeCounter()
Get counter of the super frame in this TBTP message.
static TypeId GetTypeId(void)
methods derived from base classes
void SetSuperframeCounter(uint32_t counter)
Set counter of the super frame in this TBTP message.
std::vector< Ptr< SatTimeSlotConf > > DaTimeSlotConfContainer_t
Container for time slot configurations in time slot map item DaTimeSlotMapItem_t.
const DaTimeSlotInfoItem_t & GetDaTimeslots(Address utId)
Get the information of the DA time slots.
std::pair< uint8_t, DaTimeSlotConfContainer_t > DaTimeSlotInfoItem_t
Item for DA time slot information.
static const uint32_t m_tbtpBodySizeInBytes
Size of message body without frame info and slot assignment info.
uint8_t GetSuperframeSeqId()
Get sequence id of the super frame in this TBTP message.
uint32_t GetTimeSlotInfoSizeInBytes() const
Get size of the time slot in bytes.
std::map< Address, DaTimeSlotInfoItem_t > DaTimeSlotMap_t
const RaChannelInfoContainer_t GetRaChannels() const
Get the information of the RA channels.
virtual uint32_t GetSizeInBytes() const
Get real size of the TBTP message, which can be used to e.g.
std::set< uint8_t > RaChannelInfoContainer_t
Container for RA channel information.
const DaTimeSlotInfoItem_t m_emptyDaSlotContainer
Empty DA slot container to be returned if there are not DA time slots.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
void SetDaTimeslot(Mac48Address utId, uint8_t frameId, Ptr< SatTimeSlotConf > conf)
Set a DA time slot information.
void SetGwAddress(Address address)
virtual uint32_t GetSizeInBytes() const
Get real size of the random access message, which can be used to e.g.
static TypeId GetTypeId(void)
methods derived from base classes
Address m_satAddress
Satellite mac address of the new gateway.
uint32_t m_beamId
Allocated beam ID.
SatTimuMessage()
Constructor for SatRaMessage.
void SetAllocatedSatId(uint32_t beamId)
Set allocated sat ID.
void SetAllocatedBeamId(uint32_t beamId)
Set allocated beam ID.
Address m_gwAddress
Mac address of the new gateway.
uint32_t GetAllocatedSatId() const
Get the allocated sat ID.
uint32_t GetAllocatedBeamId() const
Get the allocated beam ID.
uint32_t m_satId
Allocated sat ID.
SatControlMsgTag::SatControlMsgType_t GetMsgType() const
Get type of the message.
void SetSatAddress(Address address)
~SatTimuMessage()
Destructor for SatRaMessage.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.