nfs: check post-gap timeouts once a second at most

Based on 25f2efe977
pull/5207/head
Victor Julien 5 years ago
parent 5d65e5a748
commit fc7cecb4ae

@ -338,6 +338,7 @@ pub struct NFSState {
/// true as long as we have file txs that are in a post-gap
/// state. It means we'll do extra house keeping for those.
check_post_gap_file_txs: bool,
post_gap_files_checked: bool,
pub nfs_version: u16,
@ -370,6 +371,7 @@ impl NFSState {
tc_gap:false,
is_udp:false,
check_post_gap_file_txs:false,
post_gap_files_checked:false,
nfs_version:0,
events:0,
tx_id:0,
@ -380,6 +382,7 @@ impl NFSState {
fn update_ts(&mut self, ts: u64) {
if ts != self.ts {
self.ts = ts;
self.post_gap_files_checked = false;
}
}
@ -1179,8 +1182,9 @@ impl NFSState {
};
self.post_gap_housekeeping(STREAM_TOSERVER);
if self.check_post_gap_file_txs {
if self.check_post_gap_file_txs && !self.post_gap_files_checked {
self.post_gap_housekeeping_for_files();
self.post_gap_files_checked = true;
}
AppLayerResult::ok()
@ -1329,8 +1333,9 @@ impl NFSState {
}
};
self.post_gap_housekeeping(STREAM_TOCLIENT);
if self.check_post_gap_file_txs {
if self.check_post_gap_file_txs && !self.post_gap_files_checked {
self.post_gap_housekeeping_for_files();
self.post_gap_files_checked = true;
}
AppLayerResult::ok()
}

Loading…
Cancel
Save