add comments for PacketReceiver TODOs

This commit is contained in:
Stephen Birarda 2015-08-26 14:53:05 -07:00
parent d3b19f36fd
commit c340c34b38
2 changed files with 15 additions and 1 deletions

View file

@ -211,7 +211,9 @@ void PacketReceiver::unregisterListener(QObject* listener) {
{
QMutexLocker packetListenerLocker(&_packetListenerLock);
// clear any registrations for this listener
// TODO: replace the two while loops below with a replace_if on the vector (once we move to Message everywhere)
// clear any registrations for this listener in _packetListenerMap
auto it = _packetListenerMap.begin();
while (it != _packetListenerMap.end()) {
@ -221,6 +223,17 @@ void PacketReceiver::unregisterListener(QObject* listener) {
++it;
}
// clear any registrations for this listener in _packetListListener
auto listIt = _packetListenerMap.end();
while (listIt != _packetListListenerMap.end()) {
if (listIt->first == listener) {
listIt = _packetListListenerMap.erase(listIt);
}
++listIt;
}
}
QMutexLocker directConnectSetLocker(&_directConnectSetMutex);

View file

@ -69,6 +69,7 @@ private:
using ObjectMethodPair = std::pair<QPointer<QObject>, QMetaMethod>;
QMutex _packetListenerLock;
// TODO: replace the two following hashes with an std::vector once we switch Packet/PacketList to Message
QHash<PacketType, ObjectMethodPair> _packetListenerMap;
QHash<PacketType, ObjectMethodPair> _packetListListenerMap;
int _inPacketCount = 0;