gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] branch master updated: get rid of the trackers


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: get rid of the trackers
Date: Sat, 27 Apr 2019 17:53:25 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 03d1fbcb4 get rid of the trackers
03d1fbcb4 is described below

commit 03d1fbcb4375693650964befdb078140b7ba142f
Author: Christian Grothoff <address@hidden>
AuthorDate: Sat Apr 27 17:53:11 2019 +0200

    get rid of the trackers
---
 src/transport/gnunet-service-tng.c | 148 ++++++-------------------------------
 1 file changed, 21 insertions(+), 127 deletions(-)

diff --git a/src/transport/gnunet-service-tng.c 
b/src/transport/gnunet-service-tng.c
index 3381f886f..40e820e2f 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -1447,7 +1447,7 @@ struct Queue
 
   /**
    * Task scheduled for the time when this queue can (likely) transmit the
-   * next message. Still needs to check with the @e tracker_out to be sure.
+   * next message.
    */
   struct GNUNET_SCHEDULER_Task *transmit_task;
 
@@ -1511,16 +1511,6 @@ struct Queue
    * Connection status for this queue.
    */
   enum GNUNET_TRANSPORT_ConnectionStatus cs;
-
-  /**
-   * How much outbound bandwidth do we have available for this queue?
-   */
-  struct GNUNET_BANDWIDTH_Tracker tracker_out;
-
-  /**
-   * How much inbound bandwidth do we have available for this queue?
-   */
-  struct GNUNET_BANDWIDTH_Tracker tracker_in;
 };
 
 
@@ -2956,6 +2946,9 @@ static void
 cores_send_connect_info (const struct GNUNET_PeerIdentity *pid,
                          struct GNUNET_BANDWIDTH_Value32NBO quota_out)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Informing CORE clients about connection to %s\n",
+              GNUNET_i2s (pid));
   for (struct TransportClient *tc = clients_head; NULL != tc; tc = tc->next)
   {
     if (CT_CORE != tc->type)
@@ -2973,6 +2966,9 @@ cores_send_connect_info (const struct GNUNET_PeerIdentity 
*pid,
 static void
 cores_send_disconnect_info (const struct GNUNET_PeerIdentity *pid)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Informing CORE clients about disconnect from %s\n",
+              GNUNET_i2s (pid));
   for (struct TransportClient *tc = clients_head; NULL != tc; tc = tc->next)
   {
     struct GNUNET_MQ_Envelope *env;
@@ -2988,10 +2984,9 @@ cores_send_disconnect_info (const struct 
GNUNET_PeerIdentity *pid)
 
 
 /**
- * We believe we are ready to transmit a message on a queue. Double-checks
- * with the queue's "tracker_out" and then gives the message to the
- * communicator for transmission (updating the tracker, and re-scheduling
- * itself if applicable).
+ * We believe we are ready to transmit a message on a queue. Gives the
+ * message to the communicator for transmission (updating the tracker,
+ * and re-scheduling itself if applicable).
  *
  * @param cls the `struct Queue` to process transmissions for
  */
@@ -3017,7 +3012,6 @@ schedule_transmit_on_queue (struct Queue *queue, int 
inside_job)
   struct Neighbour *n = queue->neighbour;
   struct PendingMessage *pm = n->pending_msg_head;
   struct GNUNET_TIME_Relative out_delay;
-  unsigned int wsize;
 
   GNUNET_assert (NULL != pm);
   if (queue->tc->details.communicator.total_queue_length >=
@@ -3039,14 +3033,16 @@ schedule_transmit_on_queue (struct Queue *queue, int 
inside_job)
     return;
   }
 
-  wsize = (0 == queue->mtu) ? pm->bytes_msg /* FIXME: add overheads? */
-                            : queue->mtu;
-  out_delay = GNUNET_BANDWIDTH_tracker_get_delay (&queue->tracker_out, wsize);
-  out_delay = GNUNET_TIME_relative_max (GNUNET_TIME_absolute_get_remaining (
-                                          pm->next_attempt),
-                                        out_delay);
+  out_delay = GNUNET_TIME_absolute_get_remaining (pm->next_attempt);
   if ((GNUNET_YES == inside_job) && (0 == out_delay.rel_value_us))
+  {
+    GNUNET_log (
+      GNUNET_ERROR_TYPE_DEBUG,
+      "Schedule transmission on queue %llu of %s decides to run immediately\n",
+      (unsigned long long) queue->qid,
+      GNUNET_i2s (&n->pid));
     return; /* we should run immediately! */
+  }
   /* queue has changed since we were scheduled, reschedule again */
   queue->transmit_task =
     GNUNET_SCHEDULER_add_delayed (out_delay, &transmit_on_queue, queue);
@@ -3142,8 +3138,6 @@ free_queue (struct Queue *queue)
       schedule_transmit_on_queue (s, GNUNET_NO);
   }
   notify_monitors (&neighbour->pid, queue->address, queue->nt, &me);
-  GNUNET_BANDWIDTH_tracker_notification_stop (&queue->tracker_in);
-  GNUNET_BANDWIDTH_tracker_notification_stop (&queue->tracker_out);
   GNUNET_free (queue);
 
   update_neighbour_core_visibility (neighbour);
@@ -5918,6 +5912,7 @@ learn_dv_path (const struct GNUNET_PeerIdentity *path,
   hop->timeout = GNUNET_TIME_relative_to_absolute (DV_PATH_VALIDITY_TIMEOUT);
   hop->path_valid_until = path_valid_until;
   hop->distance = path_len - 2;
+  hop->pd.aged_rtt = network_latency;
   GNUNET_CONTAINER_MDLL_insert (dv, dv->dv_head, dv->dv_tail, hop);
   GNUNET_CONTAINER_MDLL_insert (neighbour,
                                 next_hop->dv_head,
@@ -7184,25 +7179,6 @@ check_add_queue_message (void *cls,
 }
 
 
-/**
- * Bandwidth tracker informs us that the delay until we should receive
- * more has changed.
- *
- * @param cls a `struct Queue` for which the delay changed
- */
-static void
-tracker_update_in_cb (void *cls)
-{
-  struct Queue *queue = cls;
-  struct GNUNET_TIME_Relative in_delay;
-  unsigned int rsize;
-
-  rsize = (0 == queue->mtu) ? IN_PACKET_SIZE_WITHOUT_MTU : queue->mtu;
-  in_delay = GNUNET_BANDWIDTH_tracker_get_delay (&queue->tracker_in, rsize);
-  // FIXME: how exactly do we do inbound flow control?
-}
-
-
 /**
  * If necessary, generates the UUID for a @a pm
  *
@@ -7474,8 +7450,8 @@ update_pm_next_attempt (struct PendingMessage *pm,
 
 
 /**
- * We believe we are ready to transmit a message on a queue. Double-checks
- * with the queue's "tracker_out" and then gives the message to the
+ * We believe we are ready to transmit a message on a queue.
+ * Gives the message to the
  * communicator for transmission (updating the tracker, and re-scheduling
  * itself if applicable).
  *
@@ -7599,73 +7575,6 @@ transmit_on_queue (void *cls)
 }
 
 
-/**
- * Bandwidth tracker informs us that the delay until we
- * can transmit again changed.
- *
- * @param cls a `struct Queue` for which the delay changed
- */
-static void
-tracker_update_out_cb (void *cls)
-{
-  struct Queue *queue = cls;
-  struct Neighbour *n = queue->neighbour;
-
-  if (NULL == n->pending_msg_head)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                "Bandwidth allocation updated for empty transmission queue 
`%s'\n",
-                queue->address);
-    return; /* no message pending, nothing to do here! */
-  }
-  GNUNET_SCHEDULER_cancel (queue->transmit_task);
-  queue->transmit_task = NULL;
-  schedule_transmit_on_queue (queue, GNUNET_NO);
-}
-
-
-/**
- * Bandwidth tracker informs us that excessive outbound bandwidth was
- * allocated which is not being used.
- *
- * @param cls a `struct Queue` for which the excess was noted
- */
-static void
-tracker_excess_out_cb (void *cls)
-{
-  (void) cls;
-
-  /* FIXME: trigger excess bandwidth report to core? Right now,
-     this is done internally within transport_api2_core already,
-     but we probably want to change the logic and trigger it
-     from here via a message instead! */
-  /* TODO: maybe inform someone at this point? */
-  GNUNET_STATISTICS_update (GST_stats,
-                            "# Excess outbound bandwidth reported",
-                            1,
-                            GNUNET_NO);
-}
-
-
-/**
- * Bandwidth tracker informs us that excessive inbound bandwidth was allocated
- * which is not being used.
- *
- * @param cls a `struct Queue` for which the excess was noted
- */
-static void
-tracker_excess_in_cb (void *cls)
-{
-  (void) cls;
-
-  /* TODO: maybe inform somone at this point? */
-  GNUNET_STATISTICS_update (GST_stats,
-                            "# Excess inbound bandwidth reported",
-                            1,
-                            GNUNET_NO);
-}
-
-
 /**
  * Queue to a peer went down.  Process the request.
  *
@@ -8220,7 +8129,6 @@ neighbour_dv_monotime_cb (void *cls,
 {
   struct Neighbour *n = cls;
   struct GNUNET_TIME_AbsoluteNBO *mtbe;
-  struct GNUNET_TIME_Absolute mt;
 
   (void) emsg;
   if (NULL == record)
@@ -8299,20 +8207,6 @@ handle_add_queue_message (void *cls,
   queue->nt = (enum GNUNET_NetworkType) ntohl (aqm->nt);
   queue->cs = (enum GNUNET_TRANSPORT_ConnectionStatus) ntohl (aqm->cs);
   queue->neighbour = neighbour;
-  GNUNET_BANDWIDTH_tracker_init2 (&queue->tracker_in,
-                                  &tracker_update_in_cb,
-                                  queue,
-                                  GNUNET_BANDWIDTH_ZERO,
-                                  GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S,
-                                  &tracker_excess_in_cb,
-                                  queue);
-  GNUNET_BANDWIDTH_tracker_init2 (&queue->tracker_out,
-                                  &tracker_update_out_cb,
-                                  queue,
-                                  GNUNET_BANDWIDTH_ZERO,
-                                  GNUNET_CONSTANTS_MAX_BANDWIDTH_CARRY_S,
-                                  &tracker_excess_out_cb,
-                                  queue);
   memcpy (&queue[1], addr, addr_len);
   /* notify monitors about new queue */
   {

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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