[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r30837 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r30837 - gnunet/src/ats |
Date: |
Thu, 21 Nov 2013 10:31:40 +0100 |
Author: oehlmann
Date: 2013-11-21 10:31:40 +0100 (Thu, 21 Nov 2013)
New Revision: 30837
Modified:
gnunet/src/ats/libgnunet_plugin_ats_ril.c
Log:
extended state feature vector
Modified: gnunet/src/ats/libgnunet_plugin_ats_ril.c
===================================================================
--- gnunet/src/ats/libgnunet_plugin_ats_ril.c 2013-11-21 09:10:50 UTC (rev
30836)
+++ gnunet/src/ats/libgnunet_plugin_ats_ril.c 2013-11-21 09:31:40 UTC (rev
30837)
@@ -30,7 +30,7 @@
#define RIL_ACTION_INVALID -1
#define RIL_FEATURES_ADDRESS_COUNT (3 + GNUNET_ATS_QualityPropertiesCount)
-#define RIL_FEATURES_NETWORK_COUNT 4
+#define RIL_FEATURES_NETWORK_COUNT 6
#define RIL_INTERVAL_EXPONENT 10
#define RIL_DEFAULT_STEP_TIME_MIN GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_MILLISECONDS, 500)
@@ -677,14 +677,26 @@
{
int i;
struct RIL_Network net;
+ unsigned long long assigned_in;
+ unsigned long long assigned_out;
+ int overutilized_in;
+ int overutilized_out;
for (i = 0; i < solver->networks_count; i++)
{
net = solver->network_entries[i];
- solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 0] =
(double) ril_network_get_assigned(solver, net.type, GNUNET_YES);
+
+ assigned_in = ril_network_get_assigned(solver, net.type, GNUNET_YES);
+ assigned_out = ril_network_get_assigned(solver, net.type, GNUNET_NO);
+ overutilized_in = assigned_in > net.bw_in_available;
+ overutilized_out = assigned_out > net.bw_out_available;
+
+ solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 0] =
(double) assigned_in;
solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 1] =
(double) net.bw_in_available;
- solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 2] =
(double) ril_network_get_assigned(solver, net.type, GNUNET_NO);
- solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 3] =
(double) net.bw_out_available;
+ solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 2] =
(double) overutilized_in;
+ solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 3] =
(double) assigned_out;
+ solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 4] =
(double) net.bw_out_available;
+ solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 5] =
(double) overutilized_out;
}
}
@@ -705,16 +717,12 @@
const double *properties;
//copy global networks state
- for (i = 0; i < solver->networks_count; i++)
+ for (i = 0; i < solver->networks_count * RIL_FEATURES_NETWORK_COUNT; i++)
{
- state[i * RIL_FEATURES_NETWORK_COUNT + 0] =
solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 0];
- state[i * RIL_FEATURES_NETWORK_COUNT + 1] =
solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 1];
- state[i * RIL_FEATURES_NETWORK_COUNT + 2] =
solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 2];
- state[i * RIL_FEATURES_NETWORK_COUNT + 3] =
solver->global_state_networks[i * RIL_FEATURES_NETWORK_COUNT + 3];
+ state[i] = solver->global_state_networks[i];
}
//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++)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r30837 - gnunet/src/ats,
gnunet <=