[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25517 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25517 - gnunet/src/ats |
Date: |
Mon, 17 Dec 2012 16:08:49 +0100 |
Author: wachs
Date: 2012-12-17 16:08:48 +0100 (Mon, 17 Dec 2012)
New Revision: 25517
Modified:
gnunet/src/ats/Makefile.am
gnunet/src/ats/gnunet-service-ats_addresses.c
gnunet/src/ats/gnunet-service-ats_addresses_simplistic.c
Log:
changes
Modified: gnunet/src/ats/Makefile.am
===================================================================
--- gnunet/src/ats/Makefile.am 2012-12-17 14:30:44 UTC (rev 25516)
+++ gnunet/src/ats/Makefile.am 2012-12-17 15:08:48 UTC (rev 25517)
@@ -69,6 +69,7 @@
test_ats_api_scheduling_block_and_reset \
test_ats_simplistic \
test_ats_simplistic_switch_networks \
+ test_ats_simplistic_change_preference \
test_ats_api_performance
# $(GN_MLP_TEST) \
# $(GN_MLP_TEST_AVG) \
@@ -159,6 +160,14 @@
$(top_builddir)/src/testing/libgnunettesting.la \
$(top_builddir)/src/ats/libgnunetats.la
+test_ats_simplistic_change_preference_SOURCES = \
+ test_ats_simplistic_change_preference.c test_ats_api_common.c
+test_ats_simplistic_change_preference_LDADD = \
+ $(top_builddir)/src/util/libgnunetutil.la \
+ $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/ats/libgnunetats.la
+
+
if HAVE_LIBGLPK
#test_ats_mlp_SOURCES = \
# $(GN_MLP_SRC) \
Modified: gnunet/src/ats/gnunet-service-ats_addresses.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses.c 2012-12-17 14:30:44 UTC
(rev 25516)
+++ gnunet/src/ats/gnunet-service-ats_addresses.c 2012-12-17 15:08:48 UTC
(rev 25517)
@@ -942,6 +942,16 @@
if (GNUNET_NO == handle->running)
return;
+ if (GNUNET_NO == GNUNET_CONTAINER_multihashmap_contains (handle->addresses,
+ &peer->hashPubKey))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Received `%s' for unknown peer `%s' from client %p\n",
+ "CHANGE PREFERENCE",
+ GNUNET_i2s (peer), client);
+ return;
+ }
+
/* Tell solver about update */
handle->s_pref (handle->solver, client, peer, kind, score);
}
Modified: gnunet/src/ats/gnunet-service-ats_addresses_simplistic.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses_simplistic.c 2012-12-17
14:30:44 UTC (rev 25516)
+++ gnunet/src/ats/gnunet-service-ats_addresses_simplistic.c 2012-12-17
15:08:48 UTC (rev 25517)
@@ -96,6 +96,9 @@
* Callback cls
*/
void *bw_changed_cls;
+
+ struct PreferenceClient *pc_head;
+ struct PreferenceClient *pc_tail;
};
struct Network
@@ -154,6 +157,13 @@
struct ATS_Address *addr;
};
+struct PreferenceClient
+{
+ struct PreferenceClient *prev;
+ struct PreferenceClient *next;
+ void *client;
+};
+
/**
* Init the simplistic problem solving component
*
@@ -227,6 +237,8 @@
GAS_simplistic_done (void *solver)
{
struct GAS_SIMPLISTIC_Handle *s = solver;
+ struct PreferenceClient *pc;
+ struct PreferenceClient *next_pc;
struct AddressWrapper *cur;
struct AddressWrapper *next;
int c;
@@ -278,8 +290,15 @@
s->active_addresses);
GNUNET_break (0);
}
+ GNUNET_free (s->network_entries);
- GNUNET_free (s->network_entries);
+ next_pc = s->pc_head;
+ while (NULL != (pc = next_pc))
+ {
+ next_pc = pc->next;
+ GNUNET_CONTAINER_DLL_remove (s->pc_head, s->pc_tail, pc);
+ GNUNET_free (pc);
+ }
GNUNET_free (s);
}
@@ -855,7 +874,33 @@
enum GNUNET_ATS_PreferenceKind kind,
float score)
{
+ struct GAS_SIMPLISTIC_Handle *s = solver;
+ struct PreferenceClient *cur;
+ GNUNET_assert (NULL != solver);
+ GNUNET_assert (NULL != client);
+ GNUNET_assert (NULL != peer);
+
+ LOG (GNUNET_ERROR_TYPE_ERROR, "Client %p changes preference for peer `%s'
%d\n",
+ client,
+ GNUNET_i2s (peer),
+ score);
+
+ for (cur = s->pc_head; NULL != cur; cur = cur->next)
+ {
+ if (client == cur->client)
+ break;
+ }
+
+ if (NULL == cur)
+ {
+ cur = GNUNET_malloc (sizeof (struct PreferenceClient));
+ cur->client = client;
+ GNUNET_CONTAINER_DLL_insert (s->pc_head, s->pc_tail, cur);
+ }
+
+
+
}
/* end of gnunet-service-ats_addresses_simplistic.c */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25517 - gnunet/src/ats,
gnunet <=