- debug
authorBart Polot <bart@net.in.tum.de>
Fri, 20 Dec 2013 04:17:08 +0000 (04:17 +0000)
committerBart Polot <bart@net.in.tum.de>
Fri, 20 Dec 2013 04:17:08 +0000 (04:17 +0000)
src/mesh/gnunet-mesh.c
src/mesh/gnunet-service-mesh_connection.c
src/mesh/mesh_api.c

index f27e27428d797a4932ff42d057c361a188bab2c5..314039bfd231cad26a3f6b722d7332c102a36a52 100644 (file)
@@ -179,6 +179,12 @@ read_stdio (void *cls,
 
   data_size = read (0, buf, 60000);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "stdio read %u bytes\n", data_size);
+  {
+    struct GNUNET_HashCode hash;
+    GNUNET_CRYPTO_hash (buf, data_size, &hash);
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "  hash SEND %s (%u)\n",
+                GNUNET_h2s_full (&hash), data_size);
+  }
   if (data_size < 1)
   {
     GNUNET_SCHEDULER_shutdown();
@@ -334,7 +340,17 @@ data_callback (void *cls,
 
   len = ntohs (message->size) - sizeof (*message);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got %u bytes\n", len);
-  write (1, (char *) &message[1], len);
+  GNUNET_BIO_write (1, (char *) &message[1], len);
+  {
+    struct GNUNET_HashCode hash;
+
+    GNUNET_CRYPTO_hash (message, ntohs (message->size), &hash);
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "  api hash RECV %s (%u)\n",
+                GNUNET_h2s_full (&hash), ntohs (message->size));
+    GNUNET_CRYPTO_hash (&message[1], len, &hash);
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "  hash RECV %s (%u)\n",
+                GNUNET_h2s_full (&hash), len);
+  }
   return GNUNET_OK;
 }
 
index c31ee2aab8b49b493d57bf05803d2135f386209b..26182cbe594d3ba76e24664d01345ffd8121335e 100644 (file)
@@ -1652,6 +1652,7 @@ GMC_handle_broken (void* cls,
   fwd = is_fwd (c, id);
   if (GMC_is_terminal (c, fwd))
   {
+    path_invalidate (c->path);
     if (0 < c->pending_messages)
       c->destroy = GNUNET_YES;
     else
index 87bca0be5e8f1aa9313ae0410f011b394f171c42..7890c7d7f25282db462b6c6f4bb32ee75a773bda 100644 (file)
@@ -832,6 +832,8 @@ process_incoming_data (struct GNUNET_MESH_Handle *h,
   const struct GNUNET_MESH_MessageHandler *handler;
   struct GNUNET_MESH_LocalData *dmsg;
   struct GNUNET_MESH_Channel *ch;
+  struct GNUNET_HashCode hash;
+  size_t size;
   unsigned int i;
   uint16_t type;
 
@@ -842,7 +844,10 @@ process_incoming_data (struct GNUNET_MESH_Handle *h,
   LOG (GNUNET_ERROR_TYPE_DEBUG, "  %s data on channel %s [%X]\n",
        GM_f2s (ch->chid >= GNUNET_MESH_LOCAL_CHANNEL_ID_SERV),
        GNUNET_i2s (GNUNET_PEER_resolve2 (ch->peer)), ntohl (dmsg->id));
-  LOG (GNUNET_ERROR_TYPE_DEBUG, "  %u bytes\n", ntohs (message->size));
+
+  size = ntohs (message->size);
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "  %u bytes\n", size);
+
   if (NULL == ch)
   {
     /* Channel was ignored/destroyed, probably service didn't get it yet */
@@ -850,6 +855,7 @@ process_incoming_data (struct GNUNET_MESH_Handle *h,
     return;
   }
   type = ntohs (payload->type);
+  size = ntohs (payload->size);
   LOG (GNUNET_ERROR_TYPE_DEBUG, "  payload type %u\n", type);
   for (i = 0; i < h->n_handlers; i++)
   {
@@ -859,6 +865,9 @@ process_incoming_data (struct GNUNET_MESH_Handle *h,
          handler->type);
     if (handler->type == type)
     {
+      GNUNET_CRYPTO_hash (payload, size, &hash);
+      LOG (GNUNET_ERROR_TYPE_DEBUG, "  hash recv %s (%u)\n",
+           GNUNET_h2s_full (&hash), size);
       if (GNUNET_OK !=
           handler->callback (h->cls, ch, &ch->ctx, payload))
       {
@@ -1124,6 +1133,12 @@ send_callback (void *cls, size_t size, void *buf)
       psize = th->notify (th->notify_cls,
                           size - sizeof (struct GNUNET_MESH_LocalData),
                           mh);
+      {
+        struct GNUNET_HashCode hash;
+        GNUNET_CRYPTO_hash (mh, psize, &hash);
+        LOG (GNUNET_ERROR_TYPE_DEBUG, "#  hash send %s (%u)\n",
+             GNUNET_h2s_full (&hash), psize);
+      }
       if (psize > 0)
       {
         psize += sizeof (struct GNUNET_MESH_LocalData);