gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r29226 - gnunet/src/ats


From: gnunet
Subject: [GNUnet-SVN] r29226 - gnunet/src/ats
Date: Thu, 12 Sep 2013 11:41:40 +0200

Author: wachs
Date: 2013-09-12 11:41:40 +0200 (Thu, 12 Sep 2013)
New Revision: 29226

Modified:
   gnunet/src/ats/gnunet-service-ats-solver_mlp.c
Log:
fixed bug in address iteration


Modified: gnunet/src/ats/gnunet-service-ats-solver_mlp.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats-solver_mlp.c      2013-09-12 09:28:35 UTC 
(rev 29225)
+++ gnunet/src/ats/gnunet-service-ats-solver_mlp.c      2013-09-12 09:41:40 UTC 
(rev 29226)
@@ -972,8 +972,6 @@
   }
   mlp_use = glp_mip_col_val(mlp->p.prob, mlpi->c_n);
 
-
-
   if ((GLP_YES == mlp_use) && (GNUNET_NO == address->active))
   {
        /* Address switch: Activate address*/
@@ -983,7 +981,7 @@
                mlpi->b_in.value__ = htonl(mlp_bw_in);
                address->assigned_bw_out.value__ = htonl (mlp_bw_out);
                mlpi->b_out.value__ = htonl(mlp_bw_out);
-               mlpi->n = mlp_use;
+               mlpi->n = GNUNET_YES;
                mlp->bw_changed_cb (mlp->bw_changed_cb_cls, address);
   }
   else if ((GLP_NO == mlp_use) && (GNUNET_YES == address->active))
@@ -996,7 +994,7 @@
                mlpi->b_in.value__ = htonl(mlp_bw_in);
                address->assigned_bw_out.value__ = htonl (0);
                mlpi->b_out.value__ = htonl(mlp_bw_out);
-               mlpi->n = mlp_use;
+               mlpi->n = GNUNET_NO;
                mlp->bw_changed_cb (mlp->bw_changed_cb_cls, address);
   }
   else if ((mlp_bw_out != ntohl(address->assigned_bw_out.value__)) ||
@@ -1008,7 +1006,7 @@
                mlpi->b_in.value__ = htonl(mlp_bw_in);
                address->assigned_bw_out.value__ = htonl (mlp_bw_out);
                mlpi->b_out.value__ = htonl(mlp_bw_out);
-               mlpi->n = mlp_use;
+               mlpi->n = (GLP_YES == mlp_use) ? GNUNET_YES : GNUNET_NO;
                mlp->bw_changed_cb (mlp->bw_changed_cb_cls, address);
   }
   else
@@ -1457,16 +1455,16 @@
 mlp_get_preferred_address_it (void *cls, const struct GNUNET_HashCode * key, 
void *value)
 {
 
-  struct ATS_Address *aa = (struct ATS_Address *) cls;
+  struct ATS_Address **aa = (struct ATS_Address **) cls;
   struct ATS_Address *addr = value;
   struct MLP_information *mlpi = addr->solver_information;
   if (mlpi == NULL)
     return GNUNET_YES;
-  if (mlpi->n == GNUNET_YES)
+  if (GNUNET_YES == mlpi->n)
   {
-    aa = addr;
-      aa->assigned_bw_in = mlpi->b_in;
-      aa->assigned_bw_out = mlpi->b_out;
+    (*aa) = addr;
+      (*aa)->assigned_bw_in = mlpi->b_in;
+      (*aa)->assigned_bw_out = mlpi->b_out;
     return GNUNET_NO;
   }
   return GNUNET_YES;
@@ -1507,7 +1505,7 @@
 {
   struct GAS_MLP_Handle *mlp = solver;
   struct ATS_Peer *p;
-  struct ATS_Address *res = NULL;
+  struct ATS_Address *res;
 
   GNUNET_assert (NULL != solver);
   GNUNET_assert (NULL != peer);
@@ -1533,11 +1531,10 @@
                        (GNUNET_YES == 
GNUNET_CONTAINER_multihashmap_contains(mlp->addresses, &peer->hashPubKey)))
                GAS_mlp_solve_problem (mlp);
   }
-
   /* Get prefered address */
+       res = NULL;
   GNUNET_CONTAINER_multihashmap_get_multiple (mlp->addresses, 
&peer->hashPubKey,
-                                                                               
                                                                                
                mlp_get_preferred_address_it, res);
-
+                                                                               
                                                                                
                mlp_get_preferred_address_it, &res);
   return res;
 }
 




reply via email to

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