ITS
|
#include <BroadcastForwardingPacketBuffer.h>
Public Member Functions | |
BroadcastForwardingPacketBuffer () | |
BroadcastForwardingPacketBuffer Default constructor. More... | |
BroadcastForwardingPacketBuffer (const BroadcastForwardingPacketBuffer &other) | |
BroadcastForwardingPacketBuffer Copy constructor. More... | |
void | addPacket (BasicHeader bh, CommonHeader ch, GACPacket packet, QByteArray payload, QByteArray sender, uchar *destination, uchar *forwarder) |
addPacket Add packet to the buffer. More... | |
void | addPacket (BasicHeader bh, CommonHeader ch, GBCPacket packet, QByteArray payload, QByteArray sender, uchar *destination, uchar *forwarder) |
addPacket Add packet to the buffer. More... | |
void | addPacket (BasicHeader bh, CommonHeader ch, TSBPacket packet, QByteArray payload, QByteArray sender) |
addPacket Add packet to the buffer. More... | |
void | addPacket (BasicHeader bh, CommonHeader ch, SHBPacket packet, QByteArray payload, QByteArray sender) |
addPacket Add packet to the buffer. 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 (TSBPacket packet) |
isDuplicateTimestamp Check is the packet is duplicate. More... | |
bool | isDuplicateTimestamp (SHBPacket packet) |
isDuplicateTimestamp Check is the packet is duplicate. More... | |
bool | erase (GACPacket packet) |
erase Remove packet from the buffer. More... | |
bool | erase (GBCPacket packet) |
erase Remove packet from the buffer. More... | |
bool | erase (TSBPacket packet) |
erase Remove packet from the buffer. More... | |
bool | erase (SHBPacket packet) |
erase Remove packet from the buffer. More... | |
void | clear () |
clear Clear the buffer. More... | |
QVector< BroadcastForwardingPacketEntry > | bcForwardPacketBuffer () const |
bcForwardPacketBuffer Buffer getter. More... | |
Public Attributes | |
QMutex * | m_mutex |
Static Public Attributes | |
static int | nbBCForwardingPacketQueued = 0 |
Private Attributes | |
QVector< BroadcastForwardingPacketEntry > | m_bcForwardPacketBuffer |
Definition at line 17 of file BroadcastForwardingPacketBuffer.h.
BroadcastForwardingPacketBuffer::BroadcastForwardingPacketBuffer | ( | ) |
BroadcastForwardingPacketBuffer Default constructor.
Definition at line 5 of file BroadcastForwardingPacketBuffer.cpp.
References m_mutex.
BroadcastForwardingPacketBuffer::BroadcastForwardingPacketBuffer | ( | const BroadcastForwardingPacketBuffer & | other | ) |
BroadcastForwardingPacketBuffer Copy constructor.
other | The BroadcastForwardingPacketBuffer to copy. |
Definition at line 10 of file BroadcastForwardingPacketBuffer.cpp.
References m_bcForwardPacketBuffer.
void BroadcastForwardingPacketBuffer::addPacket | ( | BasicHeader | bh, |
CommonHeader | ch, | ||
GACPacket | packet, | ||
QByteArray | payload, | ||
QByteArray | sender, | ||
uchar * | destination, | ||
uchar * | forwarder | ||
) |
addPacket Add packet to the buffer.
bh | Packet Basic Header. |
ch | Packet Common Header. |
packet | The packet (GAC case). |
payload | The packet payload. |
sender | The sender. |
destination | The destination. |
forwarder | The forwarder. |
Definition at line 15 of file BroadcastForwardingPacketBuffer.cpp.
References itsGnBcForwardingPacketBufferSize, m_bcForwardPacketBuffer, PacketBuffersEntry::m_elapsed, m_mutex, and nbBCForwardingPacketQueued.
Referenced by GeoNet::checkBCFPB(), GeoNet::greedy(), GeoNet::sendSHB(), GeoNet::sendTSB(), and GeoNet::tsbPacketProcessing().
void BroadcastForwardingPacketBuffer::addPacket | ( | BasicHeader | bh, |
CommonHeader | ch, | ||
GBCPacket | packet, | ||
QByteArray | payload, | ||
QByteArray | sender, | ||
uchar * | destination, | ||
uchar * | forwarder | ||
) |
addPacket Add packet to the buffer.
bh | Packet Basic Header. |
ch | Packet Common Header. |
packet | The packet (GBC case). |
payload | The packet payload. |
sender | The sender. |
destination | The destination. |
forwarder | The forwarder. |
Definition at line 38 of file BroadcastForwardingPacketBuffer.cpp.
References itsGnBcForwardingPacketBufferSize, m_bcForwardPacketBuffer, PacketBuffersEntry::m_elapsed, m_mutex, and nbBCForwardingPacketQueued.
void BroadcastForwardingPacketBuffer::addPacket | ( | BasicHeader | bh, |
CommonHeader | ch, | ||
TSBPacket | packet, | ||
QByteArray | payload, | ||
QByteArray | sender | ||
) |
addPacket Add packet to the buffer.
bh | Packet Basic Header. |
ch | Packet Common Header. |
packet | The packet (TSB case). |
payload | The packet payload. |
sender | The sender. |
Definition at line 62 of file BroadcastForwardingPacketBuffer.cpp.
References itsGnBcForwardingPacketBufferSize, m_bcForwardPacketBuffer, PacketBuffersEntry::m_elapsed, m_mutex, and nbBCForwardingPacketQueued.
void BroadcastForwardingPacketBuffer::addPacket | ( | BasicHeader | bh, |
CommonHeader | ch, | ||
SHBPacket | packet, | ||
QByteArray | payload, | ||
QByteArray | sender | ||
) |
addPacket Add packet to the buffer.
bh | Packet Basic Header. |
ch | Packet Common Header. |
packet | The packet (SHB case). |
payload | The packet payload. |
sender | The sender. |
Definition at line 85 of file BroadcastForwardingPacketBuffer.cpp.
References itsGnBcForwardingPacketBufferSize, m_bcForwardPacketBuffer, PacketBuffersEntry::m_elapsed, m_mutex, and nbBCForwardingPacketQueued.
|
inline |
bcForwardPacketBuffer Buffer getter.
Definition at line 133 of file BroadcastForwardingPacketBuffer.h.
References m_bcForwardPacketBuffer.
Referenced by GeoNet::checkBCFPB().
void BroadcastForwardingPacketBuffer::clear | ( | ) |
clear Clear the buffer.
Definition at line 148 of file BroadcastForwardingPacketBuffer.cpp.
References m_bcForwardPacketBuffer, m_mutex, and nbBCForwardingPacketQueued.
Referenced by GeoNet::utInitialize().
bool BroadcastForwardingPacketBuffer::erase | ( | GACPacket | packet | ) |
erase Remove packet from the buffer.
packet | The packet (GAC case). |
bool BroadcastForwardingPacketBuffer::erase | ( | GBCPacket | packet | ) |
erase Remove packet from the buffer.
packet | The packet (GBC case). |
bool BroadcastForwardingPacketBuffer::erase | ( | TSBPacket | packet | ) |
erase Remove packet from the buffer.
packet | The packet (TSB case). |
bool BroadcastForwardingPacketBuffer::erase | ( | SHBPacket | packet | ) |
erase Remove packet from the buffer.
packet | The packet (SHB case). |
bool BroadcastForwardingPacketBuffer::isDuplicateTimestamp | ( | GACPacket | packet | ) |
isDuplicateTimestamp Check is the packet is duplicate.
packet | The packet (GAC case). |
Definition at line 108 of file BroadcastForwardingPacketBuffer.cpp.
References CommonHeader::headerType_geoUnicast, isDuplicatePacketDetectionTimestampSN(), m_bcForwardPacketBuffer, m_mutex, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().
bool BroadcastForwardingPacketBuffer::isDuplicateTimestamp | ( | GBCPacket | packet | ) |
isDuplicateTimestamp Check is the packet is duplicate.
packet | The packet (GBC case). |
Definition at line 118 of file BroadcastForwardingPacketBuffer.cpp.
References CommonHeader::headerType_geoBroadcast, isDuplicatePacketDetectionTimestampSN(), m_bcForwardPacketBuffer, m_mutex, GBCPacket::sequenceNumber(), GBCPacket::soPv(), and LongPositionVector::timestamp().
bool BroadcastForwardingPacketBuffer::isDuplicateTimestamp | ( | TSBPacket | packet | ) |
isDuplicateTimestamp Check is the packet is duplicate.
packet | The packet (TSB case). |
Definition at line 128 of file BroadcastForwardingPacketBuffer.cpp.
References CommonHeader::headerSubTypeTopologicallyScopedBroadcast_multiHop, CommonHeader::headerType_topologicallyScopedBroadcast, isDuplicatePacketDetectionTimestampSN(), m_bcForwardPacketBuffer, m_mutex, TSBPacket::sequenceNumber(), TSBPacket::soPv(), and LongPositionVector::timestamp().
bool BroadcastForwardingPacketBuffer::isDuplicateTimestamp | ( | SHBPacket | packet | ) |
isDuplicateTimestamp Check is the packet is duplicate.
packet | The packet (SHB case). |
Definition at line 138 of file BroadcastForwardingPacketBuffer.cpp.
References CommonHeader::headerSubTypeTopologicallyScopedBroadcast_singleHop, CommonHeader::headerType_topologicallyScopedBroadcast, isDuplicatePacketDetectionTimestamp(), m_bcForwardPacketBuffer, m_mutex, SHBPacket::soPv(), and LongPositionVector::timestamp().
|
private |
The buffer.
Definition at line 136 of file BroadcastForwardingPacketBuffer.h.
Referenced by addPacket(), bcForwardPacketBuffer(), BroadcastForwardingPacketBuffer(), clear(), and isDuplicateTimestamp().
QMutex* BroadcastForwardingPacketBuffer::m_mutex |
Mutex used when looking into the buffer.
Definition at line 127 of file BroadcastForwardingPacketBuffer.h.
Referenced by addPacket(), BroadcastForwardingPacketBuffer(), clear(), and isDuplicateTimestamp().
|
static |
Number of packet in the entry.
Definition at line 120 of file BroadcastForwardingPacketBuffer.h.
Referenced by addPacket(), and clear().