[Nice] [nice/master] Add debugging info on every state change for a pair

Youness Alaoui youness.alaoui at collabora.co.uk
Wed Nov 12 12:40:17 PST 2008


---
 agent/conncheck.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/agent/conncheck.c b/agent/conncheck.c
index 67d5b34..eb71478 100644
--- a/agent/conncheck.c
+++ b/agent/conncheck.c
@@ -124,6 +124,7 @@ static gboolean priv_conn_check_initiate (NiceAgent *agent, CandidateCheckPair *
   g_get_current_time (&pair->next_tick);
   g_time_val_add (&pair->next_tick, agent->timer_ta * 1000);
   pair->state = NICE_CHECK_IN_PROGRESS;
+  nice_debug ("Agent %p : pair %p state IN_PROGRESS", agent, pair);
   conn_check_send (agent, pair);
   return TRUE;
 }
@@ -176,6 +177,7 @@ static gboolean priv_conn_check_unfreeze_next (NiceAgent *agent)
   if (pair) {
     nice_debug ("Agent %p : Pair %p with s/c-id %u/%u (%s) unfrozen.", agent, pair, pair->stream_id, pair->component_id, pair->foundation);
     pair->state = NICE_CHECK_WAITING;
+    nice_debug ("Agent %p : pair %p state WAITING", agent, pair);
     return TRUE;
   }
 
@@ -212,6 +214,7 @@ static void priv_conn_check_unfreeze_related (NiceAgent *agent, Stream *stream,
 	  strcmp (p->foundation, ok_check->foundation) == 0) {
 	nice_debug ("Agent %p : Unfreezing check %p (after succesful check %p).", agent, p, ok_check);
 	p->state = NICE_CHECK_WAITING;
+        nice_debug ("Agent %p : pair %p state WAITING", agent, p);
 	++unfrozen;
       }
     }
@@ -232,6 +235,7 @@ static void priv_conn_check_unfreeze_related (NiceAgent *agent, Stream *stream,
 	      strcmp (p->foundation, ok_check->foundation) == 0) {
 	    nice_debug ("Agent %p : Unfreezing check %p from stream %u (after succesful check %p).", agent, p, s->id, ok_check);
 	    p->state = NICE_CHECK_WAITING;
+            nice_debug ("Agent %p : pair %p state WAITING", agent, p);
 	    ++unfrozen;
 					    
 	  }
@@ -269,6 +273,7 @@ static gboolean priv_conn_check_tick_stream (Stream *stream, NiceAgent *agent, G
       if (p->stun_message.buffer == NULL) {
 	nice_debug ("Agent %p : STUN connectivity check was cancelled, marking as done.", agent);
 	p->state = NICE_CHECK_FAILED;
+        nice_debug ("Agent %p : pair %p state FAILED", agent, p);
       } else if (priv_timer_expired (&p->next_tick, now)) {
         int timeout = stun_timer_refresh (&p->timer);
         switch (timeout) {
@@ -276,6 +281,7 @@ static gboolean priv_conn_check_tick_stream (Stream *stream, NiceAgent *agent, G
             /* case: error, abort processing */
             nice_debug ("Agent %p : Retransmissions failed, giving up on connectivity check %p", agent, p);
             p->state = NICE_CHECK_FAILED;
+            nice_debug ("Agent %p : pair %p state FAILED", agent, p);
             p->stun_message.buffer = NULL;
             p->stun_message.buffer_len = 0;
             break;
@@ -946,6 +952,7 @@ static gboolean priv_add_new_check_pair (NiceAgent *agent, guint stream_id, Comp
 
       pair->priority = agent_candidate_pair_priority (agent, local, remote);
       pair->state = initial_state;
+      nice_debug ("Agent %p : creating new pair %p state %d", agent, pair, initial_state);
       pair->nominated = use_candidate;
       pair->controlling = agent->controlling_mode;
       
@@ -1301,13 +1308,13 @@ int conn_check_send (NiceAgent *agent, CandidateCheckPair *pair)
   {
     gchar tmpbuf[INET6_ADDRSTRLEN];
     nice_address_to_string (&pair->remote->addr, tmpbuf);
-    nice_debug ("Agent %p : STUN-CC REQ to '%s:%u', socket=%u, pair=%s (c-id:%u), tie=%llu, username='%s', password='%s', priority=%u.", agent, 
+    nice_debug ("Agent %p : STUN-CC REQ to '%s:%u', socket=%u, pair=%s (c-id:%u), tie=%llu, username='%s' (%d), password='%s' (%d), priority=%u.", agent, 
 	     tmpbuf,
 	     ntohs(((struct sockaddr_in*)(&sockaddr))->sin_port), 
 	     pair->local->sockptr->fileno,
 	     pair->foundation, pair->component_id,
 	     (unsigned long long)agent->tie_breaker,
-	     uname, password, priority);
+        uname, uname_len, password, password_len, priority);
 
   }
 
@@ -1323,6 +1330,8 @@ int conn_check_send (NiceAgent *agent, CandidateCheckPair *pair)
         agent->tie_breaker,
         priv_agent_to_ice_compatibility (agent));
 
+    nice_debug ("Agent %p: conncheck created %d - %p", agent, buffer_len, pair->stun_message.buffer);
+
     if (agent->compatibility == NICE_COMPATIBILITY_MSN) {
       g_free (password);
     }
@@ -1358,14 +1367,17 @@ static void priv_prune_pending_checks (Stream *stream, guint component_id)
     CandidateCheckPair *p = i->data;
     if (p->component_id == component_id) {
       if (p->state == NICE_CHECK_FROZEN ||
-	  p->state == NICE_CHECK_WAITING)
+	  p->state == NICE_CHECK_WAITING) {
 	p->state = NICE_CHECK_CANCELLED;
-      
+        nice_debug ("Agent XXX : pair %p state CANCELED", p);
+      }
+
       /* note: a SHOULD level req. in ICE 8.1.2. "Updating States" (ID-19) */
       if (p->state == NICE_CHECK_IN_PROGRESS) {
         p->stun_message.buffer = NULL;
         p->stun_message.buffer_len = 0;
 	p->state = NICE_CHECK_CANCELLED;
+        nice_debug ("Agent XXX : pair %p state CANCELED", p);
       }
     }
   }
@@ -1544,6 +1556,7 @@ static CandidateCheckPair *priv_add_peer_reflexive_pair (NiceAgent *agent, guint
       pair->local = local_cand;
       pair->remote = parent_pair->remote;
       pair->state = NICE_CHECK_DISCOVERED;
+      nice_debug ("Agent %p : pair %p state DISCOVERED", agent, pair);
       g_snprintf (pair->foundation, NICE_CANDIDATE_PAIR_MAX_FOUNDATION, "%s:%s", local_cand->foundation, parent_pair->remote->foundation);
       if (agent->controlling_mode == TRUE)
 	pair->priority = nice_candidate_pair_priority (local_cand->priority, parent_pair->priority);
@@ -1643,6 +1656,7 @@ static CandidateCheckPair *priv_process_response_check_for_peer_reflexive(NiceAg
 					      local_candidate,
 					      remote_candidate);
     p->state = NICE_CHECK_FAILED;
+    nice_debug ("Agent %p : pair %p state FAILED", agent, p);
 	    
     /* step: add a new discovered pair (see ICE 7.1.2.2.2
 	       "Constructing a Valid Pair" (ID-19)) */
@@ -1756,6 +1770,7 @@ static gboolean priv_map_reply_to_conn_check_request (NiceAgent *agent, Stream *
           p->stun_message.buffer = NULL;
           p->stun_message.buffer_len = 0;
           p->state = NICE_CHECK_WAITING;
+          nice_debug ("Agent %p : pair %p state WAITING", agent, p);
           trans_found = TRUE;
         } else if (res == STUN_USAGE_ICE_RETURN_ERROR) {
           /* case: STUN error, the check STUN context was freed */
@@ -2334,6 +2349,7 @@ gboolean conn_check_handle_inbound_stun (NiceAgent *agent, Stream *stream,
       uname_len = priv_create_username (agent, stream,
           component->id,  rcand, lcand,
           uname, sizeof (uname), inbound);
+
       if (username &&
           uname_len == username_len &&
           memcmp (uname, username, username_len) == 0) {
-- 
1.5.6.5




More information about the Nice mailing list