From dae8032cd8c52123d909c0e13dad84e1ff57585b Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Fri, 7 Jun 2013 15:35:33 -0700
Subject: [PATCH] hook the avatar mixer up to the new domain server check in
 method

---
 avatar-mixer/src/main.cpp | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/avatar-mixer/src/main.cpp b/avatar-mixer/src/main.cpp
index 0398a597fc..aace967564 100644
--- a/avatar-mixer/src/main.cpp
+++ b/avatar-mixer/src/main.cpp
@@ -66,7 +66,6 @@ int main(int argc, const char* argv[]) {
     
     agentList->linkedDataCreateCallback = attachAvatarDataToAgent;
     
-    agentList->startDomainServerCheckInThread();
     agentList->startSilentAgentRemovalThread();
     
     sockaddr *agentAddress = new sockaddr;
@@ -80,8 +79,19 @@ int main(int argc, const char* argv[]) {
     
     uint16_t agentID = 0;
     Agent* avatarAgent = NULL;
-        
+    
+    timeval lastDomainServerCheckIn = {};
+    // we only need to hear back about avatar agents from the DS
+    AgentList::getInstance()->setAgentTypesOfInterest(&AGENT_TYPE_AVATAR, 1);
+    
     while (true) {
+        
+        // send a check in packet to the domain server if DOMAIN_SERVER_CHECK_IN_USECS has elapsed
+        if (usecTimestampNow() - usecTimestamp(&lastDomainServerCheckIn) >= DOMAIN_SERVER_CHECK_IN_USECS) {
+            gettimeofday(&lastDomainServerCheckIn, NULL);
+            AgentList::getInstance()->sendDomainServerCheckIn();
+        }
+        
         if (agentList->getAgentSocket()->receive(agentAddress, packetData, &receivedBytes)) {
             switch (packetData[0]) {
                 case PACKET_HEADER_HEAD_DATA:
@@ -129,7 +139,6 @@ int main(int argc, const char* argv[]) {
     }
     
     agentList->stopSilentAgentRemovalThread();
-    agentList->stopDomainServerCheckInThread();
     
     return 0;
 }