[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r30823 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r30823 - gnunet/src/ats |
Date: |
Wed, 20 Nov 2013 11:25:05 +0100 |
Author: oehlmann
Date: 2013-11-20 11:25:04 +0100 (Wed, 20 Nov 2013)
New Revision: 30823
Modified:
gnunet/src/ats/libgnunet_plugin_ats_ril.c
Log:
added preferences to state vector
Modified: gnunet/src/ats/libgnunet_plugin_ats_ril.c
===================================================================
--- gnunet/src/ats/libgnunet_plugin_ats_ril.c 2013-11-20 10:18:26 UTC (rev
30822)
+++ gnunet/src/ats/libgnunet_plugin_ats_ril.c 2013-11-20 10:25:04 UTC (rev
30823)
@@ -695,6 +695,7 @@
int k;
double *state = GNUNET_malloc (sizeof (double) * agent->m);
struct RIL_Address_Wrapped *cur_address;
+ const double *preferences;
const double *properties;
//copy global networks state
@@ -706,10 +707,19 @@
state[i * RIL_FEATURES_NETWORK_COUNT + 3] = solver->state_networks[i *
RIL_FEATURES_NETWORK_COUNT + 3];
}
- i = i * RIL_FEATURES_NETWORK_COUNT; //first address feature
+ //get peer features
+ i = i * RIL_FEATURES_NETWORK_COUNT;
+ preferences = solver->plugin_envi->get_preferences
(solver->plugin_envi->get_preference_cls,
+ &agent->peer);
+ for (k = 0; k < GNUNET_ATS_PreferenceCount; k++)
+ {
+ state[i++] = preferences[k];
+ }
+ //get address specific features
for (cur_address = agent->addresses_head; NULL != cur_address; cur_address =
cur_address->next)
{
+ //when changing the number of address specific state features, change
RIL_FEATURES_ADDRESS_COUNT macro
state[i++] = cur_address->address_naked->active;
state[i++] = cur_address->address_naked->active ? agent->bw_in : 0;
state[i++] = cur_address->address_naked->active ? agent->bw_out : 0;
@@ -1334,8 +1344,6 @@
{
if (cur->suggestion_issue) {
solver->plugin_envi->bandwidth_changed_cb(solver->plugin_envi->bw_changed_cb_cls,
cur->suggestion_address);
- LOG(GNUNET_ERROR_TYPE_DEBUG, "\n Suggest address: %s\n\n",
- cur->suggestion_address->addr);
cur->suggestion_issue = GNUNET_NO;
}
}
@@ -1404,7 +1412,7 @@
agent->bw_out = 0;
agent->suggestion_issue = GNUNET_NO;
agent->n = RIL_ACTION_TYPE_NUM;
- agent->m = solver->networks_count * RIL_FEATURES_NETWORK_COUNT;
+ agent->m = (solver->networks_count * RIL_FEATURES_NETWORK_COUNT) +
GNUNET_ATS_PreferenceCount;
agent->W = (double **) GNUNET_malloc (sizeof (double *) * agent->n);
for (i = 0; i < agent->n; i++)
{
@@ -1992,8 +2000,8 @@
void
GAS_ril_address_inuse_changed (void *solver, struct ATS_Address *address, int
in_use)
{
- /* Nothing to do here.
- * Possible TODO? Future Work: Potentially add usage variable to state vector
+ /*
+ * TODO? Future Work: Potentially add usage variable to state vector
*/
LOG(GNUNET_ERROR_TYPE_DEBUG,
"API_address_inuse_changed() Usage for %s address of peer '%s' changed
to %s\n",
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r30823 - gnunet/src/ats,
gnunet <=