[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19119 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19119 - gnunet/src/ats |
Date: |
Fri, 13 Jan 2012 15:49:41 +0100 |
Author: wachs
Date: 2012-01-13 15:49:41 +0100 (Fri, 13 Jan 2012)
New Revision: 19119
Modified:
gnunet/src/ats/gnunet-service-ats_addresses.c
Log:
- more
Modified: gnunet/src/ats/gnunet-service-ats_addresses.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses.c 2012-01-13 14:20:43 UTC
(rev 19118)
+++ gnunet/src/ats/gnunet-service-ats_addresses.c 2012-01-13 14:49:41 UTC
(rev 19119)
@@ -37,8 +37,17 @@
enum ATS_Mode
{
- SIMPLE,
- MLP
+ /**
+ * Assign each peer an equal amount of bandwidth (bw)
+ *
+ * bw_per_peer = bw_total / #active addresses
+ */
+ SIMPLE,
+
+ /**
+ * Use MLP solver to assign bandwidth
+ */
+ MLP
};
static struct GNUNET_CONTAINER_MultiHashMap *addresses;
@@ -51,6 +60,7 @@
static int ats_mode;
+
/**
* Update a bandwidth assignment for a peer. This trivial method currently
* simply assigns the same share to all active connections.
@@ -65,6 +75,8 @@
{
struct ATS_Address *aa = value;
+
+ /* Simple method */
if (GNUNET_YES != aa->active)
return GNUNET_OK;
GNUNET_assert (active_addr_count > 0);
@@ -159,6 +171,12 @@
GNUNET_CONTAINER_multihashmap_remove (addresses,
&addr->peer.hashPubKey,
addr));
+
+#if HAVE_LIBGLPK
+ if (ats_mode == MLP)
+ GAS_mlp_address_delete (addresses, addr);
+#endif
+
if (GNUNET_YES == addr->active)
{
active_addr_count--;
@@ -354,12 +372,21 @@
/* session == 0 and addrlen == 0 : destroy address */
if (aa->addr_len == 0)
+ {
(void) destroy_address (aa);
+ }
+ else
+ {
+ /* session was set to 0, update address */
+#if HAVE_LIBGLPK
+ if (ats_mode == MLP)
+ GAS_mlp_address_update (addresses, aa);
+#endif
+ }
return GNUNET_OK;
}
-
void
GAS_addresses_destroy (const struct GNUNET_PeerIdentity *peer,
const char *plugin_name, const void *plugin_addr,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19119 - gnunet/src/ats,
gnunet <=