Browse Source

Tweak multicast settings to prevent failures due to TX queue overflow.

Adam Ierymenko 4 năm trước cách đây
mục cha
commit
44af828aa4
2 tập tin đã thay đổi với 3 bổ sung4 xóa
  1. 1 1
      node/Constants.hpp
  2. 2 3
      node/Multicaster.cpp

+ 1 - 1
node/Constants.hpp

@@ -224,7 +224,7 @@
 /**
  * How often Topology::clean() and Network::clean() and similar are called, in ms
  */
-#define ZT_HOUSEKEEPING_PERIOD 60000
+#define ZT_HOUSEKEEPING_PERIOD 30000
 
 /**
  * Delay between WHOIS retries in ms

+ 2 - 3
node/Multicaster.cpp

@@ -262,9 +262,8 @@ void Multicaster::send(
 				}
 			}
 		} else {
-			if (gs.txQueue.size() >= ZT_TX_QUEUE_SIZE) {
-				RR->t->outgoingNetworkFrameDropped(tPtr,network,src,mg.mac(),etherType,0,len,"multicast TX queue is full");
-				return;
+			while (gs.txQueue.size() >= ZT_TX_QUEUE_SIZE) {
+				gs.txQueue.pop_front();
 			}
 
 			const unsigned int gatherLimit = (limit - (unsigned int)gs.members.size()) + 1;