http2: support per-tx file accounting

pull/6324/head
Victor Julien 5 years ago
parent 1b3c3225cd
commit c1dfb619c4

@ -807,11 +807,13 @@ impl HTTP2State {
let index = self.find_tx_index(sid);
if index > 0 {
let mut tx_same = &mut self.transactions[index - 1];
if dir == STREAM_TOCLIENT {
let is_open = if dir == STREAM_TOCLIENT {
tx_same.ft_tc.tx_id = tx_same.tx_id - 1;
tx_same.ft_tc.file_open
} else {
tx_same.ft_ts.tx_id = tx_same.tx_id - 1;
}
tx_same.ft_ts.file_open
};
let (files, flags) = self.files.get(dir);
match tx_same.decompress(
&rem[..hlsafe],
@ -824,7 +826,17 @@ impl HTTP2State {
Err(_e) => {
self.set_event(HTTP2Event::FailedDecompression);
}
_ => {}
_ => {
if dir == STREAM_TOCLIENT {
if !is_open && tx_same.ft_tc.file_open {
tx_same.tx_data.incr_files_opened();
}
} else {
if !is_open && tx_same.ft_ts.file_open {
tx_same.tx_data.incr_files_opened();
}
}
}
}
}
}

Loading…
Cancel
Save