- simplify timing out of old hellos
authorBart Polot <bart@net.in.tum.de>
Tue, 4 Feb 2014 18:51:35 +0000 (18:51 +0000)
committerBart Polot <bart@net.in.tum.de>
Tue, 4 Feb 2014 18:51:35 +0000 (18:51 +0000)
src/mesh/gnunet-service-mesh_peer.c

index 4102e19b02f819318b68112e4fe52eb4a1e870a7..569eda84bccce534e62d4b54ae234842bc1472e2 100644 (file)
@@ -1885,32 +1885,19 @@ GMP_get_tunnel (const struct MeshPeer *peer)
 void
 GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello)
 {
-  struct GNUNET_TIME_Absolute expiration;
-  struct GNUNET_TIME_Relative remaining;
+  struct GNUNET_HELLO_Message *old;
   size_t size;
 
-  if (NULL == peer->hello)
+  old = GMP_get_hello (peer);
+  if (NULL == old)
   {
     size = GNUNET_HELLO_size (hello);
     peer->hello = GNUNET_malloc (size);
     memcpy (peer->hello, hello, size);
     return;
   }
-
-  expiration = GNUNET_HELLO_get_last_expiration (peer->hello);
-  remaining = GNUNET_TIME_absolute_get_remaining (expiration);
-  if (0 == remaining.rel_value_us)
-  {
-    GNUNET_free (peer->hello);
-    size = GNUNET_HELLO_size (hello);
-    peer->hello = GNUNET_malloc (size);
-    memcpy (peer->hello, hello, size);
-  }
   else
   {
-    struct GNUNET_HELLO_Message *old;
-
-    old = peer->hello;
     peer->hello = GNUNET_HELLO_merge (old, hello);
     GNUNET_free (old);
   }
@@ -1932,7 +1919,7 @@ GMP_get_hello (struct MeshPeer *peer)
 
   if (NULL == peer->hello)
     return NULL;
-  
+
   expiration = GNUNET_HELLO_get_last_expiration (peer->hello);
   remaining = GNUNET_TIME_absolute_get_remaining (expiration);
   if (0 == remaining.rel_value_us)