Reincarnated GRD. Changed mesh decay to go to 1/N rather than 0.
[distributedratelimiting.git] / drl / drl_state.h
index 2b1ec5e..7715a36 100644 (file)
@@ -31,7 +31,7 @@
 #define MAX_IDENTS (1024)
 #define MAX_LIMITERS (128)
 
-#define REMOTE_AWOL_THRESHOLD (3)
+#define REMOTE_AWOL_THRESHOLD (5)
 
 enum transports { UDP, TCP };
 
@@ -208,9 +208,13 @@ void free_comm(comm_t *comm);
  * @param aggregate The location at which the aggregate value will
  * be stored.
  *
+ * @param decayto When using a mesh comm fabric, limiters whose value
+ * has not been heard in several timesteps will decay to this value.
+ * Generally globallimit/N.
+ *
  * @returns 0 on success, EINVAL on error.
  */
-int read_comm(comm_t *comm, double *aggregate);
+int read_comm(comm_t *comm, double *aggregate, double decayto);
 
 /**
  * Updates the locally observed value of an identity.