From: David Barksdale Date: Thu, 11 Jan 2018 03:48:05 +0000 (-0600) Subject: Try to keep the cadet->code MQ from growing too large X-Git-Tag: v0.11.0pre66~249^2~19 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bca8edf17fc90862e7267ff22b70a1b7dc94ec96;p=oweals%2Fgnunet.git Try to keep the cadet->code MQ from growing too large --- diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c index da78a03c4..05555e693 100644 --- a/src/cadet/gnunet-service-cadet_peer.c +++ b/src/cadet/gnunet-service-cadet_peer.c @@ -59,7 +59,10 @@ */ #define IDLE_PATH_TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 2) - +/** + * Queue size when we start dropping OOO messages. + */ +#define MAX_OOO_QUEUE_SIZE 100 /** @@ -1464,6 +1467,11 @@ GCP_send_ooo (struct CadetPeer *cp, GNUNET_MQ_discard (env); return; } + if (GNUNET_MQ_get_length (cp->core_mq) > MAX_OOO_QUEUE_SIZE) + { + GNUNET_MQ_discard (env); + return; + } GNUNET_MQ_notify_sent (env, &mqm_send_done, cp);