From e466eb2fdd4a182cb83d9cfe49b09fddcd6935c2 Mon Sep 17 00:00:00 2001 From: "David.Gao" Date: Mon, 4 Oct 2021 13:42:54 +0800 Subject: [PATCH] flush --- src/aiutp_pcb.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/aiutp_pcb.erl b/src/aiutp_pcb.erl index 4aaf2fa..2f992f2 100644 --- a/src/aiutp_pcb.erl +++ b/src/aiutp_pcb.erl @@ -531,6 +531,7 @@ check_timeouts_1(#aiutp_pcb{time=Now, max_window = MaxWindow, outbuf = OutBuf, seq_nr = SeqNR, + brust = Brust, retransmit_count = RetransmitCount} = PCB) -> NewTimeout = RetransmitTimeout * 2, @@ -556,7 +557,11 @@ check_timeouts_1(#aiutp_pcb{time=Now, fast_timeout = true, timeout_seq_nr = SeqNR }, - {true,aiutp_net:send_packet(aiutp_buffer:head(OutBuf0), PCB1)}; + PCB2 = + if Brust == true -> aiutp_net:flush_packets(PCB); + true -> aiutp_net:send_packet(aiutp_buffer:head(OutBuf0), PCB1) + end, + {true,PCB2}; true -> {true,PCB0} end. write(_,#aiutp_pcb{state = State} = PCB)