Fixed bug where it's possible for tx_credit to goe negative

This commit is contained in:
graynode
2025-10-23 16:14:33 -04:00
parent 95225a1774
commit dae3ec5cba

View File

@@ -671,7 +671,7 @@ class DLC(utils.EventEmitter):
def process_tx(self) -> None:
# Send anything we can (or an empty frame if we need to send rx credits)
rx_credits_needed = self.rx_credits_needed()
while (self.tx_buffer and self.tx_credits > 0) or rx_credits_needed > 0:
while (self.tx_buffer and self.tx_credits > 0) or (rx_credits_needed > 0 and self.tx_credit > 0):
# Get the next chunk, up to MTU size
if rx_credits_needed > 0:
chunk = bytes([rx_credits_needed]) + self.tx_buffer[: self.mtu - 1]