diff options
author | Bart Polot <bart@net.in.tum.de> | 2011-10-14 11:38:40 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2011-10-14 11:38:40 +0000 |
commit | 8a1d955ccbf2ee62eef41802f3d4b0f71e022c9d (patch) | |
tree | bc40f0211c998c6904b14e1d9fa93c36151ab73c | |
parent | 5abcb3f3648cc184e0b7c9960d6c35fc2703b418 (diff) | |
download | gnunet-8a1d955ccbf2ee62eef41802f3d4b0f71e022c9d.tar.gz gnunet-8a1d955ccbf2ee62eef41802f3d4b0f71e022c9d.zip |
Removed unnecessary hashmap actions
-rw-r--r-- | src/mesh/gnunet-service-mesh.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mesh/gnunet-service-mesh.c b/src/mesh/gnunet-service-mesh.c index 773710611..2fb1070ae 100644 --- a/src/mesh/gnunet-service-mesh.c +++ b/src/mesh/gnunet-service-mesh.c | |||
@@ -255,6 +255,7 @@ struct MeshTunnel | |||
255 | 255 | ||
256 | /** | 256 | /** |
257 | * Peers in the tunnel, indexed by PeerIdentity -> (MeshPeerInfo) | 257 | * Peers in the tunnel, indexed by PeerIdentity -> (MeshPeerInfo) |
258 | * containing peers added by id or by type, not intermediate peers. | ||
258 | */ | 259 | */ |
259 | struct GNUNET_CONTAINER_MultiHashMap *peers; | 260 | struct GNUNET_CONTAINER_MultiHashMap *peers; |
260 | 261 | ||
@@ -1608,7 +1609,8 @@ tunnel_destroy (struct MeshTunnel *t) | |||
1608 | } | 1609 | } |
1609 | 1610 | ||
1610 | GNUNET_CRYPTO_hash (&t->local_tid, sizeof (MESH_TunnelNumber), &hash); | 1611 | GNUNET_CRYPTO_hash (&t->local_tid, sizeof (MESH_TunnelNumber), &hash); |
1611 | if (NULL != c && GNUNET_YES != GNUNET_CONTAINER_multihashmap_remove (c->tunnels, &hash, t)) | 1612 | if (NULL != c && |
1613 | GNUNET_YES != GNUNET_CONTAINER_multihashmap_remove (c->tunnels, &hash, t)) | ||
1612 | { | 1614 | { |
1613 | r = GNUNET_SYSERR; | 1615 | r = GNUNET_SYSERR; |
1614 | } | 1616 | } |
@@ -1619,8 +1621,12 @@ tunnel_destroy (struct MeshTunnel *t) | |||
1619 | GNUNET_CONTAINER_multihashmap_remove (incoming_tunnels, &hash, t)); | 1621 | GNUNET_CONTAINER_multihashmap_remove (incoming_tunnels, &hash, t)); |
1620 | } | 1622 | } |
1621 | 1623 | ||
1622 | GNUNET_CONTAINER_multihashmap_iterate(t->peers, &peer_info_delete_tunnel, t); | 1624 | if (NULL != t->peers) |
1623 | GNUNET_CONTAINER_multihashmap_destroy (t->peers); | 1625 | { |
1626 | GNUNET_CONTAINER_multihashmap_iterate(t->peers, | ||
1627 | &peer_info_delete_tunnel, t); | ||
1628 | GNUNET_CONTAINER_multihashmap_destroy (t->peers); | ||
1629 | } | ||
1624 | q = t->queue_head; | 1630 | q = t->queue_head; |
1625 | while (NULL != q) | 1631 | while (NULL != q) |
1626 | { | 1632 | { |
@@ -2022,7 +2028,6 @@ handle_mesh_path_create (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
2022 | t = GNUNET_malloc (sizeof (struct MeshTunnel)); | 2028 | t = GNUNET_malloc (sizeof (struct MeshTunnel)); |
2023 | t->id.oid = GNUNET_PEER_intern (pi); | 2029 | t->id.oid = GNUNET_PEER_intern (pi); |
2024 | t->id.tid = tid; | 2030 | t->id.tid = tid; |
2025 | t->peers = GNUNET_CONTAINER_multihashmap_create (32); | ||
2026 | t->local_tid = next_local_tid++; | 2031 | t->local_tid = next_local_tid++; |
2027 | /* FIXME test if taken */ | 2032 | /* FIXME test if taken */ |
2028 | next_local_tid |= GNUNET_MESH_LOCAL_TUNNEL_ID_SERV; | 2033 | next_local_tid |= GNUNET_MESH_LOCAL_TUNNEL_ID_SERV; |