ITS
CBFPacketEntry Class Reference

#include <CBFPacketEntry.h>

Inheritance diagram for CBFPacketEntry:
[legend]
Collaboration diagram for CBFPacketEntry:
[legend]

Public Slots

void execute ()
 execute Slot used to start the timers. More...
 
void kill ()
 kill Slot used to kill an entry. More...
 

Signals

void packetSent (GBCPacket packet)
 packetSent Signal used to send GBC. More...
 
void packetSent (GUCPacket packet)
 packetSent Signal used to send GUC. More...
 
void packetSent (LSReplyPacket packet)
 packetSent Signal used to send LSReply. More...
 
void killMe (GBCPacket packet)
 killMe Kill entry from buffer (GBC case). More...
 
void killMe (GUCPacket packet)
 killMe Kill entry from buffer (GUC case). More...
 
void killMe (LSReplyPacket packet)
 killMe Kill entry from buffer (LSReply case). More...
 

Public Member Functions

 CBFPacketEntry ()
 CBFPacketEntry CBFPacketEntry constructor. More...
 
 CBFPacketEntry (BasicHeader bh, CommonHeader ch, GBCPacket packet, QByteArray payload, int timerToLive, ParameterNetwork *paramNetwork, GnAddr *gnAddr, FakeGPSProvider *paramGPS, HistoryPacketBuffer *HPB, quint16 *SN)
 CBFPacketEntry CBFPacketEntry initialization constructor. More...
 
 CBFPacketEntry (BasicHeader bh, CommonHeader ch, GUCPacket packet, QByteArray payload, int timerToLive, ParameterNetwork *paramNetwork, GnAddr *gnAddr, FakeGPSProvider *paramGPS, HistoryPacketBuffer *HPB, quint16 *SN)
 CBFPacketEntry CBFPacketEntry initialization constructor. More...
 
 CBFPacketEntry (BasicHeader bh, CommonHeader ch, LSReplyPacket packet, QByteArray payload, int timerToLive, ParameterNetwork *paramNetwork, GnAddr *gnAddr, FakeGPSProvider *paramGPS, HistoryPacketBuffer *HPB, quint16 *SN)
 CBFPacketEntry CBFPacketEntry initialization constructor. More...
 
 CBFPacketEntry (const CBFPacketEntry &other)
 CBFPacketEntry CBFPacketEntry copy constructor. More...
 
CBFPacketEntryoperator= (const CBFPacketEntry &other)
 operator= CBFPacketEntry affectation operator. More...
 
int timer () const
 timer Timer of the entry getter. More...
 
void restartTimer (int newTimer)
 restartTimer Restart the entry timer. More...
 
- Public Member Functions inherited from PacketBuffersEntry
 PacketBuffersEntry ()
 PacketBuffersEntry PacketBuffersEntry constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, BeaconPacket packet)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, LSRequestPacket packet)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, LSReplyPacket packet)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, GACPacket packet, QByteArray payload, uchar *destination, uchar *forwarder)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, GBCPacket packet, QByteArray payload, uchar *destination, uchar *forwarder)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, GUCPacket packet, QByteArray payload)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, TSBPacket packet, QByteArray payload)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (BasicHeader bh, CommonHeader ch, SHBPacket packet, QByteArray payload)
 PacketBuffersEntry PacketBuffersEntry initialization constructor. More...
 
 PacketBuffersEntry (const PacketBuffersEntry &other)
 PacketBuffersEntry PacketBuffersEntry copy constructor. More...
 
bool operator== (const PacketBuffersEntry &other)
 operator== PacketBuffersEntry comparison operator. More...
 
PacketBuffersEntryoperator= (const PacketBuffersEntry &other)
 operator= PacketBuffersEntry affectation operator. More...
 
BasicHeader basicHeader () const
 basicHeader Entry Basic Header getter. More...
 
CommonHeader commonHeader () const
 basicHeader Entry Common Header getter. More...
 
QByteArray payload () const
 basicHeader Entry payload getter. More...
 
BeaconPacket beaconPacket ()
 beaconPacket Beacon entry creation. More...
 
LSRequestPacket lsRequestPacket ()
 beaconPacket LSRequest entry creation. More...
 
LSReplyPacket lsReplyPacket ()
 beaconPacket LSReply entry creation. More...
 
GACPacket gacPacket ()
 beaconPacket GAC entry creation. More...
 
GBCPacket gbcPacket ()
 beaconPacket GBC entry creation. More...
 
GUCPacket gucPacket ()
 beaconPacket GUC entry creation. More...
 
SHBPacket shbPacket ()
 beaconPacket SHB entry creation. More...
 
TSBPacket tsbPacket ()
 beaconPacket TSB entry creation. More...
 
uchar * destination ()
 destination Entry destination getter. More...
 
uchar * forwarder ()
 forwarder Entry forwarder getter. More...
 
bool isTimeout ()
 isTimeout Check if the entry is expired. More...
 

Public Attributes

QMutex * m_mutex
 
- Public Attributes inherited from PacketBuffersEntry
QElapsedTimer m_elapsed
 

Private Member Functions

void sendPacket ()
 sendPacket Send packet. More...
 

Private Attributes

int m_timer
 
QElapsedTimer m_miniTimer
 
ParameterNetworkm_paramNetwork
 
GnAddrm_gnAddr
 
FakeGPSProviderm_paramGPS
 
HistoryPacketBufferm_HPB
 
quint16 * sequenceNumber
 
bool m_send
 

Additional Inherited Members

- Protected Attributes inherited from PacketBuffersEntry
BasicHeader m_bh
 
CommonHeader m_ch
 
QByteArray m_payload
 
BeaconPacket m_beac
 
LSRequestPacket m_lsRequest
 
LSReplyPacket m_lsReply
 
GACPacket m_gac
 
GBCPacket m_gbc
 
GUCPacket m_guc
 
TSBPacket m_tsb
 
SHBPacket m_shb
 
uchar m_destination [6]
 
uchar m_forwarder [6]
 

Detailed Description

Definition at line 20 of file CBFPacketEntry.h.

Constructor & Destructor Documentation

◆ CBFPacketEntry() [1/5]

CBFPacketEntry::CBFPacketEntry ( )

CBFPacketEntry CBFPacketEntry constructor.

Definition at line 3 of file CBFPacketEntry.cpp.

References m_mutex, m_paramGPS, m_paramNetwork, m_send, and m_timer.

◆ CBFPacketEntry() [2/5]

CBFPacketEntry::CBFPacketEntry ( BasicHeader  bh,
CommonHeader  ch,
GBCPacket  packet,
QByteArray  payload,
int  timerToLive,
ParameterNetwork paramNetwork,
GnAddr gnAddr,
FakeGPSProvider paramGPS,
HistoryPacketBuffer HPB,
quint16 *  SN 
)

CBFPacketEntry CBFPacketEntry initialization constructor.

Parameters
bhPacket Basic Header.
chPacket Common Header.
packetThe packet (GBC case).
payloadThe packet payload.
timerToLiveTime to be in the buffer.
paramNetworkNetwork configuration.
gnAddrPacket GN_ADDR.
paramGPSGPS.
HPBHistory packet buffer.
SNPacket sequence number.

Definition at line 12 of file CBFPacketEntry.cpp.

References PacketBuffersEntry::m_bh, PacketBuffersEntry::m_ch, PacketBuffersEntry::m_gbc, m_gnAddr, m_HPB, m_mutex, m_paramGPS, m_paramNetwork, PacketBuffersEntry::m_payload, m_send, m_timer, PacketBuffersEntry::payload(), and sequenceNumber.

Here is the call graph for this function:

◆ CBFPacketEntry() [3/5]

CBFPacketEntry::CBFPacketEntry ( BasicHeader  bh,
CommonHeader  ch,
GUCPacket  packet,
QByteArray  payload,
int  timerToLive,
ParameterNetwork paramNetwork,
GnAddr gnAddr,
FakeGPSProvider paramGPS,
HistoryPacketBuffer HPB,
quint16 *  SN 
)

CBFPacketEntry CBFPacketEntry initialization constructor.

Parameters
bhPacket Basic Header.
chPacket Common Header.
packetThe packet (GUC case).
payloadThe packet payload.
timerToLiveTime to be in the buffer.
paramNetworkNetwork configuration.
gnAddrPacket GN_ADDR.
paramGPSGPS.
HPBHistory packet buffer.
SNPacket sequence number.

Definition at line 28 of file CBFPacketEntry.cpp.

References PacketBuffersEntry::m_bh, PacketBuffersEntry::m_ch, m_gnAddr, PacketBuffersEntry::m_guc, m_HPB, m_mutex, m_paramGPS, m_paramNetwork, PacketBuffersEntry::m_payload, m_send, m_timer, PacketBuffersEntry::payload(), and sequenceNumber.

Here is the call graph for this function:

◆ CBFPacketEntry() [4/5]

CBFPacketEntry::CBFPacketEntry ( BasicHeader  bh,
CommonHeader  ch,
LSReplyPacket  packet,
QByteArray  payload,
int  timerToLive,
ParameterNetwork paramNetwork,
GnAddr gnAddr,
FakeGPSProvider paramGPS,
HistoryPacketBuffer HPB,
quint16 *  SN 
)

CBFPacketEntry CBFPacketEntry initialization constructor.

Parameters
bhPacket Basic Header.
chPacket Common Header.
packetThe packet (LSReply case).
payloadThe packet payload.
timerToLiveTime to be in the buffer.
paramNetworkNetwork configuration.
gnAddrPacket GN_ADDR.
paramGPSGPS.
HPBHistory packet buffer.
SNPacket sequence number.

Definition at line 44 of file CBFPacketEntry.cpp.

References PacketBuffersEntry::m_bh, PacketBuffersEntry::m_ch, m_gnAddr, m_HPB, PacketBuffersEntry::m_lsReply, m_mutex, m_paramGPS, m_paramNetwork, PacketBuffersEntry::m_payload, m_send, m_timer, PacketBuffersEntry::payload(), and sequenceNumber.

Here is the call graph for this function:

◆ CBFPacketEntry() [5/5]

Member Function Documentation

◆ execute

◆ kill

void CBFPacketEntry::kill ( )
slot

kill Slot used to kill an entry.

Definition at line 185 of file CBFPacketEntry.cpp.

References m_send.

Referenced by execute().

Here is the caller graph for this function:

◆ killMe [1/3]

void CBFPacketEntry::killMe ( GBCPacket  packet)
signal

killMe Kill entry from buffer (GBC case).

Parameters
packetThe entry to kill.

Referenced by execute().

Here is the caller graph for this function:

◆ killMe [2/3]

void CBFPacketEntry::killMe ( GUCPacket  packet)
signal

killMe Kill entry from buffer (GUC case).

Parameters
packetThe entry to kill.

◆ killMe [3/3]

void CBFPacketEntry::killMe ( LSReplyPacket  packet)
signal

killMe Kill entry from buffer (LSReply case).

Parameters
packetThe entry to kill.

◆ operator=()

◆ packetSent [1/3]

void CBFPacketEntry::packetSent ( GBCPacket  packet)
signal

packetSent Signal used to send GBC.

Parameters
packetThe packet to send.

Referenced by sendPacket().

Here is the caller graph for this function:

◆ packetSent [2/3]

void CBFPacketEntry::packetSent ( GUCPacket  packet)
signal

packetSent Signal used to send GUC.

Parameters
packetThe packet to send.

◆ packetSent [3/3]

void CBFPacketEntry::packetSent ( LSReplyPacket  packet)
signal

packetSent Signal used to send LSReply.

Parameters
packetThe packet to send.

◆ restartTimer()

void CBFPacketEntry::restartTimer ( int  newTimer)
inline

restartTimer Restart the entry timer.

Parameters
newTimerThe new timer.

Definition at line 94 of file CBFPacketEntry.h.

References PacketBuffersEntry::m_elapsed, m_miniTimer, and m_timer.

◆ sendPacket()

void CBFPacketEntry::sendPacket ( )
private

sendPacket Send packet.

Definition at line 219 of file CBFPacketEntry.cpp.

References HistoryPacketBuffer::addPacket(), PacketBuffersEntry::basicHeader(), PacketBuffersEntry::commonHeader(), FakeGPSProvider::data(), ParameterNetwork::eh, LongPositionVector::gnAddr(), CommonHeader::headerSubType(), CommonHeader::headerSubTypeLocationService_Reply, CommonHeader::headerType(), CommonHeader::headerType_geoAnycast, CommonHeader::headerType_geoBroadcast, CommonHeader::headerType_geoUnicast, CommonHeader::headerType_locationService, ParameterGPS::heading(), Heading::headingValue, BasicHeader::helper_size, CommonHeader::helper_size, itsGnPaiInterval, ReferencePosition::latitude, BasicHeader::lifeTime(), LifeTime::lifeTime(), ReferencePosition::longitude, PacketBuffersEntry::m_elapsed, PacketBuffersEntry::m_gbc, m_gnAddr, PacketBuffersEntry::m_guc, m_HPB, PacketBuffersEntry::m_lsReply, m_paramGPS, m_paramNetwork, GnAddr::mid(), packetSent(), PacketBuffersEntry::payload(), ReferencePosition::positionConfidenceEllipse, ParameterNetwork::rawSocket, ParameterGPS::referencePosition(), PosConfidenceEllipse::semiMajorConfidence, ParameterNetwork::sendbuf, BasicHeader::setLifeTime(), GUCPacket::setSoPv(), GBCPacket::setSoPv(), ParameterNetwork::socket_address, GUCPacket::soPv(), GBCPacket::soPv(), ParameterGPS::speed(), Speed::speedValue, FakeGPSProvider::timestamp(), GUCPacket::toHex(), and GBCPacket::toHex().

Referenced by execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ timer()

int CBFPacketEntry::timer ( ) const
inline

timer Timer of the entry getter.

Returns
The timer.

Definition at line 89 of file CBFPacketEntry.h.

References m_timer.

Member Data Documentation

◆ m_gnAddr

GnAddr* CBFPacketEntry::m_gnAddr
private

Entry GN_ADDR.

Definition at line 151 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), operator=(), and sendPacket().

◆ m_HPB

HistoryPacketBuffer* CBFPacketEntry::m_HPB
private

History packet buffer.

Definition at line 153 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), and sendPacket().

◆ m_miniTimer

QElapsedTimer CBFPacketEntry::m_miniTimer
private

Time elapsed since last use of the entry.

Definition at line 147 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), execute(), operator=(), and restartTimer().

◆ m_mutex

QMutex* CBFPacketEntry::m_mutex

Mutex used to llok at the buffer.

Definition at line 97 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), and operator=().

◆ m_paramGPS

FakeGPSProvider* CBFPacketEntry::m_paramGPS
private

GPS.

Definition at line 152 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), operator=(), and sendPacket().

◆ m_paramNetwork

ParameterNetwork* CBFPacketEntry::m_paramNetwork
private

Network configuration.

Definition at line 150 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), operator=(), and sendPacket().

◆ m_send

bool CBFPacketEntry::m_send
private

Is the entry send successfully?

Definition at line 155 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), execute(), kill(), and operator=().

◆ m_timer

int CBFPacketEntry::m_timer
private

Timer of the entry.

Definition at line 146 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry(), execute(), operator=(), restartTimer(), and timer().

◆ sequenceNumber

quint16* CBFPacketEntry::sequenceNumber
private

Entry sequence number.

Definition at line 154 of file CBFPacketEntry.h.

Referenced by CBFPacketEntry().


The documentation for this class was generated from the following files: