From: Jason Ish Date: Tue, 26 Apr 2022 19:25:40 +0000 (-0600) Subject: dns: convert transaction list to vecdeque X-Git-Tag: suricata-6.0.13~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f728464e4fc4d3792043833f50b758c49828a58;p=thirdparty%2Fsuricata.git dns: convert transaction list to vecdeque Allows for more efficient removal from front of the list. Ticket: #5277 (cherry picked from commit 31894147884af3e7151b4d653e5268a0b0477db8) --- diff --git a/rust/src/dns/dns.rs b/rust/src/dns/dns.rs index 460c97def1..4b09cc2988 100644 --- a/rust/src/dns/dns.rs +++ b/rust/src/dns/dns.rs @@ -407,7 +407,7 @@ pub struct DNSState { pub tx_id: u64, // Transactions. - pub transactions: Vec, + pub transactions: VecDeque, config: Option, @@ -419,7 +419,7 @@ impl DNSState { pub fn new() -> DNSState { return DNSState{ tx_id: 0, - transactions: Vec::new(), + transactions: VecDeque::new(), config: None, gap: false, }; @@ -428,7 +428,7 @@ impl DNSState { pub fn new_tcp() -> DNSState { return DNSState{ tx_id: 0, - transactions: Vec::new(), + transactions: VecDeque::new(), config: None, gap: false, }; @@ -530,7 +530,7 @@ impl DNSState { let mut tx = self.new_tx(); tx.request = Some(request); tx.tx_data.set_inspect_direction(STREAM_TOSERVER); - self.transactions.push(tx); + self.transactions.push_back(tx); if z_flag { SCLogDebug!("Z-flag set on DNS response"); @@ -594,7 +594,7 @@ impl DNSState { } tx.response = Some(response); tx.tx_data.set_inspect_direction(STREAM_TOCLIENT); - self.transactions.push(tx); + self.transactions.push_back(tx); if z_flag { SCLogDebug!("Z-flag set on DNS response");