ITS
PacketBuffersEntry.h
Go to the documentation of this file.
1 
7 #ifndef PacketBuffersEntry_H
8 #define PacketBuffersEntry_H
9 
10 #include <QObject>
11 #include <QByteArray>
12 #include <QElapsedTimer>
13 #include <BasicHeader.h>
14 #include <CommonHeader.h>
15 #include <BeaconPacket.h>
16 #include <LSRequestPacket.h>
17 #include <LSReplyPacket.h>
18 #include <GACPacket.h>
19 #include <GBCPacket.h>
20 #include <GUCPacket.h>
21 #include <TSBPacket.h>
22 #include <SHBPacket.h>
23 
24 class PacketBuffersEntry : public QObject
25 {
26  Q_OBJECT
27 public:
62  PacketBuffersEntry(BasicHeader bh, CommonHeader ch, GACPacket packet, QByteArray payload, uchar* destination, uchar* forwarder);
72  PacketBuffersEntry(BasicHeader bh, CommonHeader ch, GBCPacket packet, QByteArray payload, uchar* destination, uchar* forwarder);
79  PacketBuffersEntry(BasicHeader bh, CommonHeader ch, GUCPacket packet, QByteArray payload);
87  PacketBuffersEntry(BasicHeader bh, CommonHeader ch, TSBPacket packet, QByteArray payload);
95  PacketBuffersEntry(BasicHeader bh, CommonHeader ch, SHBPacket packet, QByteArray payload);
101 
107  bool operator==(const PacketBuffersEntry &other);
114 
115  /* Getters */
120  BasicHeader basicHeader() const{return m_bh;}
125  CommonHeader commonHeader() const{return m_ch;}
130  QByteArray payload() const{return m_payload;}
175  uchar* destination() {return m_destination;}
180  uchar* forwarder() {return m_forwarder;}
181 
186  bool isTimeout() {return (m_bh.lifeTime().lifeTime() - m_elapsed.elapsed()) <= 0;}
187 
188  QElapsedTimer m_elapsed;
190 protected :
193  QByteArray m_payload;
203  uchar m_destination[6];
204  uchar m_forwarder[6];
205 };
206 
207 #endif // _PacketBuffersEntry_H
PacketBuffersEntry()
PacketBuffersEntry PacketBuffersEntry constructor.
bool operator==(const PacketBuffersEntry &other)
operator== PacketBuffersEntry comparison operator.
LSReplyPacket lsReplyPacket()
beaconPacket LSReply entry creation.
QByteArray m_payload
Common Header structure.
CommonHeader commonHeader() const
basicHeader Entry Common Header getter.
BeaconPacket m_beac
LSRequest Packet structure.
BasicHeader basicHeader() const
basicHeader Entry Basic Header getter.
GUCPacket gucPacket()
beaconPacket GUC entry creation.
Beacon packet structure.
Basic Header structure.
SHB packet structure.
TSBPacket tsbPacket()
beaconPacket TSB entry creation.
BasicHeader m_bh
QElapsedTimer m_elapsed
GBCPacket m_gbc
GUCPacket m_guc
GBCPacket gbcPacket()
beaconPacket GBC entry creation.
GACPacket gacPacket()
beaconPacket GAC entry creation.
TSB packet structure.
QByteArray payload() const
basicHeader Entry payload getter.
GAC packet structure.
quint32 lifeTime() const
lifeTime Life time value computation.
Definition: LifeTime.h:120
GUC packet structure.
LSReply packet structure.
uchar * destination()
destination Entry destination getter.
uchar m_destination[6]
LSReplyPacket m_lsReply
GBC packet structure.
uchar * forwarder()
forwarder Entry forwarder getter.
uchar m_forwarder[6]
GACPacket m_gac
LifeTime lifeTime() const
lifeTime Life time field getter.
Definition: BasicHeader.h:105
CommonHeader m_ch
bool isTimeout()
isTimeout Check if the entry is expired.
SHBPacket m_shb
PacketBuffersEntry & operator=(const PacketBuffersEntry &other)
operator= PacketBuffersEntry affectation operator.
SHBPacket shbPacket()
beaconPacket SHB entry creation.
LSRequestPacket m_lsRequest
TSBPacket m_tsb
LSRequestPacket lsRequestPacket()
beaconPacket LSRequest entry creation.
BeaconPacket beaconPacket()
beaconPacket Beacon entry creation.