From 96174468b3b3ac36d187188cca4f52086a028217 Mon Sep 17 00:00:00 2001
From: Seth Alves <seth.alves@gmail.com>
Date: Thu, 5 May 2016 15:27:30 -0700
Subject: [PATCH] use reliable and ordered packets for avatar identity

---
 libraries/avatars/src/AvatarData.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp
index 7db55d50e0..fd13f8c370 100644
--- a/libraries/avatars/src/AvatarData.cpp
+++ b/libraries/avatars/src/AvatarData.cpp
@@ -1193,10 +1193,15 @@ void AvatarData::sendIdentityPacket() {
 
     QByteArray identityData = identityByteArray();
 
-    auto identityPacket = NLPacket::create(PacketType::AvatarIdentity, identityData.size());
-    identityPacket->write(identityData);
-
-    nodeList->broadcastToNodes(std::move(identityPacket), NodeSet() << NodeType::AvatarMixer);
+    auto packetList = NLPacketList::create(PacketType::AvatarIdentity, QByteArray(), true, true);
+    packetList->write(identityData);
+    nodeList->eachMatchingNode(
+        [&](const SharedNodePointer& node)->bool {
+            return node->getType() == NodeType::AvatarMixer && node->getActiveSocket();
+        },
+        [&](const SharedNodePointer& node) {
+            nodeList->sendPacketList(std::move(packetList), *node);
+        });
 }
 
 void AvatarData::sendBillboardPacket() {