Refactor Reassembler/DataBlock bookkeeping

At least saves having to store a Reassembler pointer for each DataBlock
This commit is contained in:
Jon Siwek 2019-09-09 12:56:40 -07:00
parent b19c8fad7a
commit 989ae91c94
3 changed files with 82 additions and 67 deletions

View file

@ -80,7 +80,7 @@ void TCP_Reassembler::SizeBufferedData(uint64_t& waiting_on_hole,
uint64_t& waiting_on_ack) const
{
waiting_on_hole = waiting_on_ack = 0;
block_list.Size(last_reassem_seq, &waiting_on_ack, &waiting_on_hole);
block_list.DataSize(last_reassem_seq, &waiting_on_ack, &waiting_on_hole);
}
uint64_t TCP_Reassembler::NumUndeliveredBytes() const
@ -503,7 +503,7 @@ int TCP_Reassembler::DataSent(double t, uint64_t seq, int len,
}
if ( tcp_excessive_data_without_further_acks &&
size_of_all_blocks > static_cast<uint64_t>(tcp_excessive_data_without_further_acks) )
block_list.DataSize() > static_cast<uint64_t>(tcp_excessive_data_without_further_acks) )
{
tcp_analyzer->Weird("excessive_data_without_further_acks");
ClearBlocks();