notes
authorChristian Grothoff <christian@grothoff.org>
Thu, 15 Nov 2018 22:36:28 +0000 (23:36 +0100)
committerChristian Grothoff <christian@grothoff.org>
Thu, 15 Nov 2018 22:36:28 +0000 (23:36 +0100)
src/include/gnunet_bandwidth_lib.h
src/transport/gnunet-service-tng.c
src/transport/transport.h

index 78610c48b569f9433f78b611ffb366b420b1f921..4395b878b354a03558ffecac06859cfb11d7731c 100644 (file)
@@ -11,7 +11,7 @@
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Affero General Public License for more details.
-    
+
      You should have received a copy of the GNU Affero General Public License
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
index 5552105853a47bcf771d8f0f5df646ca70d58cb0..c7bdfd77c60b57955868abba169b97fef97fa5a7 100644 (file)
  * @file transport/gnunet-service-transport.c
  * @brief main for gnunet-service-transport
  * @author Christian Grothoff
+ *
+ * TODO:
+ * - make *our* collected addresses available somehow somewhere
+ *   => Choices: in peerstore or revive/keep peerinfo?
+ * - MTU information is missing for queues!
+ * - start supporting monitor logic (add functions to signal monitors!)
+ * - manage fragmentation/defragmentation, retransmission, track RTT, loss, etc.
+ * - ask ATS about bandwidth allocation
+ * -
  */
 #include "platform.h"
 #include "gnunet_util_lib.h"
@@ -133,6 +142,8 @@ struct Queue
    * Network type offered by this queue.
    */
   enum GNUNET_ATS_Network_Type nt;
+
+  // FIXME: add ATS-specific fields here!
 };
 
 
@@ -167,6 +178,18 @@ struct Neighbour
    */
   struct Queue *queue_tail;
 
+  /**
+   * Quota at which CORE is allowed to transmit to this peer
+   * according to ATS.
+   *
+   * FIXME: not yet used, tricky to get right given multiple queues!
+   *        (=> Idea: let ATS set a quota per queue and we add them up here?)
+   * FIXME: how do we set this value initially when we tell CORE?
+   *    Options: start at a minimum value or at literally zero (before ATS?)
+   *         (=> Current thought: clean would be zero!)
+   */
+  struct GNUNET_BANDWIDTH_Value32NBO quota_out;
+
 };
 
 
index 129b1ce15cf6ec27ef51a3d2c8aabfaa9653beb2..423d3cefa70e70f88d196667b42f8cb47e05c199 100644 (file)
@@ -800,6 +800,8 @@ struct GNUNET_TRANSPORT_AddQueueMessage
    */
   uint32_t nt;
 
+  // FIXME: add MTU?
+
   /* followed by UTF-8 encoded, 0-terminated human-readable address */
 };