aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats_reservations.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ats/gnunet-service-ats_reservations.c')
-rw-r--r--src/ats/gnunet-service-ats_reservations.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/ats/gnunet-service-ats_reservations.c b/src/ats/gnunet-service-ats_reservations.c
index 0b4948576..c75577cf9 100644
--- a/src/ats/gnunet-service-ats_reservations.c
+++ b/src/ats/gnunet-service-ats_reservations.c
@@ -36,7 +36,7 @@
36/** 36/**
37 * Map of peer identities to 'struct GNUNET_BANDWIDTH_Tracker *'s 37 * Map of peer identities to 'struct GNUNET_BANDWIDTH_Tracker *'s
38 */ 38 */
39static struct GNUNET_CONTAINER_MultiHashMap *trackers; 39static struct GNUNET_CONTAINER_MultiPeerMap *trackers;
40 40
41 41
42/** 42/**
@@ -57,7 +57,7 @@ GAS_reservations_reserve (const struct GNUNET_PeerIdentity *peer,
57 struct GNUNET_BANDWIDTH_Tracker *tracker; 57 struct GNUNET_BANDWIDTH_Tracker *tracker;
58 struct GNUNET_TIME_Relative ret; 58 struct GNUNET_TIME_Relative ret;
59 59
60 tracker = GNUNET_CONTAINER_multihashmap_get (trackers, &peer->hashPubKey); 60 tracker = GNUNET_CONTAINER_multipeermap_get (trackers, peer);
61 if (NULL == tracker) 61 if (NULL == tracker)
62 return GNUNET_TIME_UNIT_ZERO; /* not connected, satisfy now */ 62 return GNUNET_TIME_UNIT_ZERO; /* not connected, satisfy now */
63 if (amount >= 0) 63 if (amount >= 0)
@@ -93,14 +93,14 @@ GAS_reservations_set_bandwidth (const struct GNUNET_PeerIdentity *peer,
93{ 93{
94 struct GNUNET_BANDWIDTH_Tracker *tracker; 94 struct GNUNET_BANDWIDTH_Tracker *tracker;
95 95
96 tracker = GNUNET_CONTAINER_multihashmap_get (trackers, &peer->hashPubKey); 96 tracker = GNUNET_CONTAINER_multipeermap_get (trackers, peer);
97 if (0 == ntohl (bandwidth_in.value__)) 97 if (0 == ntohl (bandwidth_in.value__))
98 { 98 {
99 if (NULL == tracker) 99 if (NULL == tracker)
100 return; 100 return;
101 GNUNET_assert (GNUNET_YES == 101 GNUNET_assert (GNUNET_YES ==
102 GNUNET_CONTAINER_multihashmap_remove (trackers, 102 GNUNET_CONTAINER_multipeermap_remove (trackers,
103 &peer->hashPubKey, 103 peer,
104 tracker)); 104 tracker));
105 GNUNET_free (tracker); 105 GNUNET_free (tracker);
106 return; 106 return;
@@ -110,7 +110,7 @@ GAS_reservations_set_bandwidth (const struct GNUNET_PeerIdentity *peer,
110 tracker = GNUNET_malloc (sizeof (struct GNUNET_BANDWIDTH_Tracker)); 110 tracker = GNUNET_malloc (sizeof (struct GNUNET_BANDWIDTH_Tracker));
111 GNUNET_BANDWIDTH_tracker_init (tracker, bandwidth_in, 111 GNUNET_BANDWIDTH_tracker_init (tracker, bandwidth_in,
112 MAX_BANDWIDTH_CARRY_S); 112 MAX_BANDWIDTH_CARRY_S);
113 GNUNET_CONTAINER_multihashmap_put (trackers, &peer->hashPubKey, tracker, 113 GNUNET_CONTAINER_multipeermap_put (trackers, peer, tracker,
114 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); 114 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
115 return; 115 return;
116 } 116 }
@@ -124,7 +124,7 @@ GAS_reservations_set_bandwidth (const struct GNUNET_PeerIdentity *peer,
124void 124void
125GAS_reservations_init () 125GAS_reservations_init ()
126{ 126{
127 trackers = GNUNET_CONTAINER_multihashmap_create (128, GNUNET_NO); 127 trackers = GNUNET_CONTAINER_multipeermap_create (128, GNUNET_NO);
128} 128}
129 129
130 130
@@ -137,7 +137,8 @@ GAS_reservations_init ()
137 * @return GNUNET_OK (continue to iterate) 137 * @return GNUNET_OK (continue to iterate)
138 */ 138 */
139static int 139static int
140free_tracker (void *cls, const struct GNUNET_HashCode * key, void *value) 140free_tracker (void *cls,
141 const struct GNUNET_PeerIdentity *key, void *value)
141{ 142{
142 struct GNUNET_BANDWIDTH_Tracker *tracker = value; 143 struct GNUNET_BANDWIDTH_Tracker *tracker = value;
143 144
@@ -152,8 +153,8 @@ free_tracker (void *cls, const struct GNUNET_HashCode * key, void *value)
152void 153void
153GAS_reservations_done () 154GAS_reservations_done ()
154{ 155{
155 GNUNET_CONTAINER_multihashmap_iterate (trackers, &free_tracker, NULL); 156 GNUNET_CONTAINER_multipeermap_iterate (trackers, &free_tracker, NULL);
156 GNUNET_CONTAINER_multihashmap_destroy (trackers); 157 GNUNET_CONTAINER_multipeermap_destroy (trackers);
157} 158}
158 159
159/* end of gnunet-service-ats_reservations.c */ 160/* end of gnunet-service-ats_reservations.c */