gnunet-svn
[Top][All Lists]
Advanced

[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",




reply via email to

[Prev in Thread] Current Thread [Next in Thread]