ITS
HistoryPacketBuffer Class Reference

#include <HistoryPacketBuffer.h>

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

Public Member Functions

 HistoryPacketBuffer (GnAddr *gnAddr)
 HistoryPacketBuffer Default constructor. More...
 
 HistoryPacketBuffer (const HistoryPacketBuffer &other)
 HistoryPacketBuffer Copy constructor. More...
 
void addPacket (BeaconPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (LSRequestPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (LSReplyPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (GACPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (GBCPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (GUCPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (SHBPacket packet)
 addPacket Add packet to the buffer. More...
 
void addPacket (TSBPacket packet)
 addPacket Add packet to the buffer. More...
 
bool isDuplicateTimestamp (BeaconPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (LSRequestPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (LSReplyPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (GACPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (GBCPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (GUCPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (SHBPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
bool isDuplicateTimestamp (TSBPacket packet)
 isDuplicateTimestamp Check is the packet is duplicate. More...
 
void checkTimeout ()
 checkTimeout Check for time out of entries. More...
 
void clear ()
 clear Clear the buffer. More...
 

Private Attributes

GnAddrm_gnAddr
 
quint32 m_historyPacketBuffer [NB_PACKET_TYPE]
 
quint16 m_historyPacketBufferSN [NB_PACKET_TYPE-2]
 

Detailed Description

Definition at line 25 of file HistoryPacketBuffer.h.

Constructor & Destructor Documentation

◆ HistoryPacketBuffer() [1/2]

HistoryPacketBuffer::HistoryPacketBuffer ( GnAddr gnAddr)

HistoryPacketBuffer Default constructor.

Definition at line 3 of file HistoryPacketBuffer.cpp.

References m_gnAddr.

◆ HistoryPacketBuffer() [2/2]

HistoryPacketBuffer::HistoryPacketBuffer ( const HistoryPacketBuffer other)

HistoryPacketBuffer Copy constructor.

Parameters
otherThe HistoryPacketBuffer to copy.

Definition at line 8 of file HistoryPacketBuffer.cpp.

References m_historyPacketBuffer, m_historyPacketBufferSN, and NB_PACKET_TYPE.

Member Function Documentation

◆ addPacket() [1/8]

void HistoryPacketBuffer::addPacket ( BeaconPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (Beacon case).

Definition at line 76 of file HistoryPacketBuffer.cpp.

References BEACON, LongPositionVector::gnAddr(), m_gnAddr, m_historyPacketBuffer, BeaconPacket::soPv(), and LongPositionVector::timestamp().

Referenced by GeoNet::sendBeacon(), GeoNet::sendGAC(), GeoNet::sendGBC(), GeoNet::sendGUC(), GeoNet::sendLsRequest(), CBFPacketEntry::sendPacket(), GeoNet::sendSHB(), and GeoNet::sendTSB().

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

◆ addPacket() [2/8]

void HistoryPacketBuffer::addPacket ( LSRequestPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (LSRequest case).

Definition at line 16 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), LSREQUEST, m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, TSBPacket::sequenceNumber(), TSBPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [3/8]

void HistoryPacketBuffer::addPacket ( LSReplyPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (LSReply case).

Definition at line 25 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), LSREPLY, m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GUCPacket::sequenceNumber(), GUCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [4/8]

void HistoryPacketBuffer::addPacket ( GACPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (GAC case).

Definition at line 34 of file HistoryPacketBuffer.cpp.

References GAC, LongPositionVector::gnAddr(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [5/8]

void HistoryPacketBuffer::addPacket ( GBCPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (GBC case).

Definition at line 43 of file HistoryPacketBuffer.cpp.

References GBC, LongPositionVector::gnAddr(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [6/8]

void HistoryPacketBuffer::addPacket ( GUCPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (GUC case).

Definition at line 52 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), GUC, m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GUCPacket::sequenceNumber(), GUCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [7/8]

void HistoryPacketBuffer::addPacket ( SHBPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (SHB case).

Definition at line 70 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), m_gnAddr, m_historyPacketBuffer, SHB, SHBPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ addPacket() [8/8]

void HistoryPacketBuffer::addPacket ( TSBPacket  packet)

addPacket Add packet to the buffer.

Parameters
packetThe packet to add (TSB case).

Definition at line 61 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, TSBPacket::sequenceNumber(), TSBPacket::soPv(), LongPositionVector::timestamp(), and TSB.

Here is the call graph for this function:

◆ checkTimeout()

void HistoryPacketBuffer::checkTimeout ( )

checkTimeout Check for time out of entries.

◆ clear()

void HistoryPacketBuffer::clear ( )

clear Clear the buffer.

Definition at line 146 of file HistoryPacketBuffer.cpp.

References m_historyPacketBuffer, m_historyPacketBufferSN, and NB_PACKET_TYPE.

Referenced by GeoNet::utInitialize().

Here is the caller graph for this function:

◆ isDuplicateTimestamp() [1/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( BeaconPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (Beacon case).
Returns
True if the packet is a duplicate one.

Definition at line 138 of file HistoryPacketBuffer.cpp.

References BEACON, LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestamp(), m_gnAddr, m_historyPacketBuffer, BeaconPacket::soPv(), and LongPositionVector::timestamp().

Referenced by GeoNet::beaconPacketProcessing(), GeoNet::gacPacketProcessing(), GeoNet::gbcPacketProcessing(), GeoNet::gucPacketProcessing(), GeoNet::LSReplyPacketProcessing(), GeoNet::LSRequestPacketProcessing(), GeoNet::shbPacketProcessing(), and GeoNet::tsbPacketProcessing().

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

◆ isDuplicateTimestamp() [2/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( LSRequestPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (LSRequest case).
Returns
True if the packet is a duplicate one.

Definition at line 82 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestampSN(), LSREQUEST, m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, TSBPacket::sequenceNumber(), TSBPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [3/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( LSReplyPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (LSReply case).
Returns
True if the packet is a duplicate one.

Definition at line 90 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestampSN(), LSREPLY, m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GUCPacket::sequenceNumber(), GUCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [4/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( GACPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (GAC case).
Returns
True if the packet is a duplicate one.

Definition at line 98 of file HistoryPacketBuffer.cpp.

References GAC, LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestampSN(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [5/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( GBCPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (GBC case).
Returns
True if the packet is a duplicate one.

Definition at line 106 of file HistoryPacketBuffer.cpp.

References GBC, LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestampSN(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [6/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( GUCPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (GUC case).
Returns
True if the packet is a duplicate one.

Definition at line 114 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), GUC, isDuplicatePacketDetectionTimestampSN(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, GUCPacket::sequenceNumber(), GUCPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [7/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( SHBPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (SHB case).
Returns
True if the packet is a duplicate one.

Definition at line 130 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestamp(), m_gnAddr, m_historyPacketBuffer, SHB, SHBPacket::soPv(), and LongPositionVector::timestamp().

Here is the call graph for this function:

◆ isDuplicateTimestamp() [8/8]

bool HistoryPacketBuffer::isDuplicateTimestamp ( TSBPacket  packet)

isDuplicateTimestamp Check is the packet is duplicate.

Parameters
packetThe packet (TSB case).
Returns
True if the packet is a duplicate one.

Definition at line 122 of file HistoryPacketBuffer.cpp.

References LongPositionVector::gnAddr(), isDuplicatePacketDetectionTimestampSN(), m_gnAddr, m_historyPacketBuffer, m_historyPacketBufferSN, TSBPacket::sequenceNumber(), TSBPacket::soPv(), LongPositionVector::timestamp(), and TSB.

Here is the call graph for this function:

Member Data Documentation

◆ m_gnAddr

GnAddr* HistoryPacketBuffer::m_gnAddr
private

ITS-S GN_ADDR.

Definition at line 139 of file HistoryPacketBuffer.h.

Referenced by addPacket(), HistoryPacketBuffer(), and isDuplicateTimestamp().

◆ m_historyPacketBuffer

quint32 HistoryPacketBuffer::m_historyPacketBuffer[NB_PACKET_TYPE]
private

History buffer.

Definition at line 141 of file HistoryPacketBuffer.h.

Referenced by addPacket(), clear(), HistoryPacketBuffer(), and isDuplicateTimestamp().

◆ m_historyPacketBufferSN

quint16 HistoryPacketBuffer::m_historyPacketBufferSN[NB_PACKET_TYPE-2]
private

Sequence number per type buffer.

Definition at line 142 of file HistoryPacketBuffer.h.

Referenced by addPacket(), clear(), HistoryPacketBuffer(), and isDuplicateTimestamp().


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