]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
quic: use VecDeque
authorPhilippe Antoine <pantoine@oisf.net>
Fri, 4 Nov 2022 14:35:30 +0000 (15:35 +0100)
committerVictor Julien <vjulien@oisf.net>
Thu, 10 Nov 2022 13:42:44 +0000 (15:42 +0200)
Ticket: #5637

rust/src/quic/quic.rs

index 4df69984ed497b452ffcde18c4258bf4613ffb31..6b680a67c0ffea447491f7da56ddac5ce4131585 100644 (file)
@@ -23,6 +23,7 @@ use super::{
 };
 use crate::applayer::{self, *};
 use crate::core::{AppProto, Flow, ALPROTO_FAILED, ALPROTO_UNKNOWN, IPPROTO_UDP};
+use std::collections::VecDeque;
 use std::ffi::CString;
 use tls_parser::TlsExtensionType;
 
@@ -91,7 +92,7 @@ pub struct QuicState {
     keys: Option<QuicKeys>,
     hello_tc: bool,
     hello_ts: bool,
-    transactions: Vec<QuicTransaction>,
+    transactions: VecDeque<QuicTransaction>,
 }
 
 impl Default for QuicState {
@@ -102,7 +103,7 @@ impl Default for QuicState {
             keys: None,
             hello_tc: false,
             hello_ts: false,
-            transactions: Vec::new(),
+            transactions: VecDeque::new(),
         }
     }
 }
@@ -134,7 +135,7 @@ impl QuicState {
         let mut tx = QuicTransaction::new(header, data, sni, ua, extb, ja3, client);
         self.max_tx_id += 1;
         tx.tx_id = self.max_tx_id;
-        self.transactions.push(tx);
+        self.transactions.push_back(tx);
     }
 
     fn tx_iterator(
@@ -251,7 +252,7 @@ impl QuicState {
         self.max_tx_id += 1;
         tx.tx_id = self.max_tx_id;
         tx.tx_data.set_event(event as u8);
-        self.transactions.push(tx);
+        self.transactions.push_back(tx);
     }
 
     fn parse(&mut self, input: &[u8], to_server: bool) -> bool {