aboutsummaryrefslogtreecommitdiff
path: root/src/mesh
diff options
context:
space:
mode:
authorBart Polot <bart@net.in.tum.de>2014-02-04 18:51:35 +0000
committerBart Polot <bart@net.in.tum.de>2014-02-04 18:51:35 +0000
commitf008246ab3bcddbcdaab637fa10d76f638e9f48e (patch)
tree46a1e7371ee77a1a44a63be11ba5bc41f0aff0aa /src/mesh
parent28ba67dfec0c9e681bcb7073ade8bc7b3bdf8c39 (diff)
downloadgnunet-f008246ab3bcddbcdaab637fa10d76f638e9f48e.tar.gz
gnunet-f008246ab3bcddbcdaab637fa10d76f638e9f48e.zip
- simplify timing out of old hellos
Diffstat (limited to 'src/mesh')
-rw-r--r--src/mesh/gnunet-service-mesh_peer.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/mesh/gnunet-service-mesh_peer.c b/src/mesh/gnunet-service-mesh_peer.c
index 4102e19b0..569eda84b 100644
--- a/src/mesh/gnunet-service-mesh_peer.c
+++ b/src/mesh/gnunet-service-mesh_peer.c
@@ -1885,32 +1885,19 @@ GMP_get_tunnel (const struct MeshPeer *peer)
1885void 1885void
1886GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello) 1886GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello)
1887{ 1887{
1888 struct GNUNET_TIME_Absolute expiration; 1888 struct GNUNET_HELLO_Message *old;
1889 struct GNUNET_TIME_Relative remaining;
1890 size_t size; 1889 size_t size;
1891 1890
1892 if (NULL == peer->hello) 1891 old = GMP_get_hello (peer);
1892 if (NULL == old)
1893 { 1893 {
1894 size = GNUNET_HELLO_size (hello); 1894 size = GNUNET_HELLO_size (hello);
1895 peer->hello = GNUNET_malloc (size); 1895 peer->hello = GNUNET_malloc (size);
1896 memcpy (peer->hello, hello, size); 1896 memcpy (peer->hello, hello, size);
1897 return; 1897 return;
1898 } 1898 }
1899
1900 expiration = GNUNET_HELLO_get_last_expiration (peer->hello);
1901 remaining = GNUNET_TIME_absolute_get_remaining (expiration);
1902 if (0 == remaining.rel_value_us)
1903 {
1904 GNUNET_free (peer->hello);
1905 size = GNUNET_HELLO_size (hello);
1906 peer->hello = GNUNET_malloc (size);
1907 memcpy (peer->hello, hello, size);
1908 }
1909 else 1899 else
1910 { 1900 {
1911 struct GNUNET_HELLO_Message *old;
1912
1913 old = peer->hello;
1914 peer->hello = GNUNET_HELLO_merge (old, hello); 1901 peer->hello = GNUNET_HELLO_merge (old, hello);
1915 GNUNET_free (old); 1902 GNUNET_free (old);
1916 } 1903 }
@@ -1932,7 +1919,7 @@ GMP_get_hello (struct MeshPeer *peer)
1932 1919
1933 if (NULL == peer->hello) 1920 if (NULL == peer->hello)
1934 return NULL; 1921 return NULL;
1935 1922
1936 expiration = GNUNET_HELLO_get_last_expiration (peer->hello); 1923 expiration = GNUNET_HELLO_get_last_expiration (peer->hello);
1937 remaining = GNUNET_TIME_absolute_get_remaining (expiration); 1924 remaining = GNUNET_TIME_absolute_get_remaining (expiration);
1938 if (0 == remaining.rel_value_us) 1925 if (0 == remaining.rel_value_us)