gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r10698 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r10698 - gnunet/src/transport
Date: Thu, 25 Mar 2010 15:44:05 +0100

Author: grothoff
Date: 2010-03-25 15:44:05 +0100 (Thu, 25 Mar 2010)
New Revision: 10698

Modified:
   gnunet/src/transport/gnunet-service-transport.c
Log:
more gentle enforcement

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2010-03-25 14:33:27 UTC 
(rev 10697)
+++ gnunet/src/transport/gnunet-service-transport.c     2010-03-25 14:44:05 UTC 
(rev 10698)
@@ -3171,10 +3171,22 @@
                      ntohs (message->type), GNUNET_i2s (peer));
 #endif
          if (GNUNET_YES == GNUNET_BANDWIDTH_tracker_consume (&n->in_tracker,
-                                                             msize))
-           n->quota_violation_count++;
+                                                             (ssize_t) msize))
+           {
+             n->quota_violation_count++;
+             if (n->quota_violation_count > QUOTA_VIOLATION_DROP_THRESHOLD)
+               {
+                 /* since we'll be dropping, only count this message for half 
so that
+                    peers that send aggressively at the quota don't get 
"punished"
+                    forever */
+                 GNUNET_BANDWIDTH_tracker_consume (&n->in_tracker,
+                                                   - (ssize_t) msize / 2);
+               }
+           }
          else 
-           n->quota_violation_count = 0; /* back within limits */
+           {
+             n->quota_violation_count = 0; /* back within limits */
+           }
          GNUNET_STATISTICS_update (stats,
                                    gettext_noop ("# payload received from 
other peers"),
                                    msize,





reply via email to

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