diff options
author | Bart Polot <bart@net.in.tum.de> | 2014-02-04 18:51:35 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2014-02-04 18:51:35 +0000 |
commit | f008246ab3bcddbcdaab637fa10d76f638e9f48e (patch) | |
tree | 46a1e7371ee77a1a44a63be11ba5bc41f0aff0aa /src/mesh | |
parent | 28ba67dfec0c9e681bcb7073ade8bc7b3bdf8c39 (diff) | |
download | gnunet-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.c | 21 |
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) | |||
1885 | void | 1885 | void |
1886 | GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello) | 1886 | GMP_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) |