gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r17312 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r17312 - gnunet/src/core
Date: Mon, 10 Oct 2011 13:20:47 +0200

Author: grothoff
Date: 2011-10-10 13:20:47 +0200 (Mon, 10 Oct 2011)
New Revision: 17312

Removed:
   gnunet/src/core/gnunet-service-core_ats.c
Log:
removing dead bw code

Deleted: gnunet/src/core/gnunet-service-core_ats.c
===================================================================
--- gnunet/src/core/gnunet-service-core_ats.c   2011-10-10 11:20:35 UTC (rev 
17311)
+++ gnunet/src/core/gnunet-service-core_ats.c   2011-10-10 11:20:47 UTC (rev 
17312)
@@ -1,159 +0,0 @@
-
-/**
- * How much inbound bandwidth are we supposed to be using per second?
- */
-static unsigned long long bandwidth_target_in_bps;
-
-/**
- * How much outbound bandwidth are we supposed to be using per second?
- */
-static unsigned long long bandwidth_target_out_bps;
-
-
-
-/**
- * Schedule the task that will recalculate the bandwidth
- * quota for this peer (and possibly force a disconnect of
- * idle peers by calculating a bandwidth of zero).
- */
-static void
-schedule_quota_update (struct Neighbour *n)
-{
-  GNUNET_assert (n->quota_update_task == GNUNET_SCHEDULER_NO_TASK);
-  n->quota_update_task =
-      GNUNET_SCHEDULER_add_delayed (QUOTA_UPDATE_FREQUENCY,
-                                    &neighbour_quota_update, n);
-}
-
-
-/**
- * Function that recalculates the bandwidth quota for the
- * given neighbour and transmits it to the transport service.
- *
- * @param cls neighbour for the quota update
- * @param tc context
- */
-static void
-neighbour_quota_update (void *cls,
-                        const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
-  struct Neighbour *n = cls;
-  struct GNUNET_BANDWIDTH_Value32NBO q_in;
-  struct GNUNET_BANDWIDTH_Value32NBO q_out;
-  struct GNUNET_BANDWIDTH_Value32NBO q_out_min;
-  double pref_rel;
-  double share;
-  unsigned long long distributable;
-  uint64_t need_per_peer;
-  uint64_t need_per_second;
-  unsigned int neighbour_count;
-
-#if DEBUG_CORE > 1
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Neighbour quota update calculation running for peer `%4s'\n",
-              GNUNET_i2s (&n->peer));
-#endif
-  n->quota_update_task = GNUNET_SCHEDULER_NO_TASK;
-  /* calculate relative preference among all neighbours;
-   * divides by a bit more to avoid division by zero AND to
-   * account for possibility of new neighbours joining any time
-   * AND to convert to double... */
-  neighbour_count = GNUNET_CONTAINER_multihashmap_size (neighbours);
-  if (neighbour_count == 0)
-    return;
-  if (preference_sum == 0)
-  {
-    pref_rel = 1.0 / (double) neighbour_count;
-  }
-  else
-  {
-    pref_rel = (double) n->current_preference / preference_sum;
-  }
-  need_per_peer =
-      GNUNET_BANDWIDTH_value_get_available_until (MIN_BANDWIDTH_PER_PEER,
-                                                  GNUNET_TIME_UNIT_SECONDS);
-  need_per_second = need_per_peer * neighbour_count;
-
-  /* calculate inbound bandwidth per peer */
-  distributable = 0;
-  if (bandwidth_target_in_bps > need_per_second)
-    distributable = bandwidth_target_in_bps - need_per_second;
-  share = distributable * pref_rel;
-  if (share + need_per_peer > UINT32_MAX)
-    q_in = GNUNET_BANDWIDTH_value_init (UINT32_MAX);
-  else
-    q_in = GNUNET_BANDWIDTH_value_init (need_per_peer + (uint32_t) share);
-
-  /* calculate outbound bandwidth per peer */
-  distributable = 0;
-  if (bandwidth_target_out_bps > need_per_second)
-    distributable = bandwidth_target_out_bps - need_per_second;
-  share = distributable * pref_rel;
-  if (share + need_per_peer > UINT32_MAX)
-    q_out = GNUNET_BANDWIDTH_value_init (UINT32_MAX);
-  else
-    q_out = GNUNET_BANDWIDTH_value_init (need_per_peer + (uint32_t) share);
-  n->bw_out_internal_limit = q_out;
-
-  q_out_min =
-      GNUNET_BANDWIDTH_value_min (n->bw_out_external_limit,
-                                  n->bw_out_internal_limit);
-  GNUNET_BANDWIDTH_tracker_update_quota (&n->available_send_window, n->bw_out);
-
-  /* check if we want to disconnect for good due to inactivity */
-  if ((GNUNET_TIME_absolute_get_duration (get_neighbour_timeout (n)).rel_value 
>
-       0) &&
-      (GNUNET_TIME_absolute_get_duration (n->time_established).rel_value >
-       GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value))
-  {
-#if DEBUG_CORE
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                "Forcing disconnect of `%4s' due to inactivity\n",
-                GNUNET_i2s (&n->peer));
-#endif
-    GNUNET_STATISTICS_update (stats,
-                             gettext_noop ("# peers disconnected due to 
inactivity"), 1,
-                             GNUNET_NO);
-    q_in = GNUNET_BANDWIDTH_value_init (0);     /* force disconnect */
-  }
-#if DEBUG_CORE_QUOTA
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Current quota for `%4s' is %u/%llu b/s in (old: %u b/s) / %u 
out (%u internal)\n",
-              GNUNET_i2s (&n->peer), (unsigned int) ntohl (q_in.value__),
-              bandwidth_target_out_bps, (unsigned int) ntohl 
(n->bw_in.value__),
-              (unsigned int) ntohl (n->bw_out.value__),
-              (unsigned int) ntohl (n->bw_out_internal_limit.value__));
-#endif
-  if ((n->bw_in.value__ != q_in.value__) ||
-      (n->bw_out.value__ != q_out_min.value__))
-  {
-    if (n->bw_in.value__ != q_in.value__)
-      n->bw_in = q_in;
-    if (n->bw_out.value__ != q_out_min.value__)
-      n->bw_out = q_out_min;
-    if (GNUNET_YES == n->is_connected)
-      GNUNET_TRANSPORT_set_quota (transport, &n->peer, n->bw_in, n->bw_out);
-    handle_peer_status_change (n);
-  }
-  schedule_quota_update (n);
-}
-
-
-
-void
-GSC_ATS_init ()
-{
-  if ((GNUNET_OK !=
-       GNUNET_CONFIGURATION_get_value_number (c, "CORE", "TOTAL_QUOTA_IN",
-                                              &bandwidth_target_in_bps)) ||
-      (GNUNET_OK !=
-       GNUNET_CONFIGURATION_get_value_number (c, "CORE", "TOTAL_QUOTA_OUT",
-                                              &bandwidth_target_out_bps)) )
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                _
-                ("Core service is lacking key configuration settings.  
Exiting.\n"));
-    GNUNET_SCHEDULER_shutdown ();
-    return;
-  }
-}




reply via email to

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