diff options
| author | luwenpeng <[email protected]> | 2024-03-21 19:27:41 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2024-03-21 19:27:41 +0800 |
| commit | 2ad811f68dd02c80464e38338f0282696bb6dac4 (patch) | |
| tree | 7e1e4d46a6d68874d8759245679f854c933a635a /deps/interval_tree | |
| parent | 36b9a8282ac00808e5ae60328ee80bd91348beed (diff) | |
Add tcp reassembly
Diffstat (limited to 'deps/interval_tree')
| -rw-r--r-- | deps/interval_tree/itree.cpp | 3 | ||||
| -rw-r--r-- | deps/interval_tree/itree.h | 2 | ||||
| -rw-r--r-- | deps/interval_tree/test/gtest_interval_tree.cpp | 50 |
3 files changed, 5 insertions, 50 deletions
diff --git a/deps/interval_tree/itree.cpp b/deps/interval_tree/itree.cpp index 5bb68ef..9d7bf74 100644 --- a/deps/interval_tree/itree.cpp +++ b/deps/interval_tree/itree.cpp @@ -399,8 +399,7 @@ int itree_remove(itree_t *tree, interval_t *interval) { return 0; } - // else if (interval_equal(it->interval, interval)) - else if (it->interval->low >= interval->low && it->interval->high <= interval->high) + else if (interval_equal(it->interval, interval)) { break; } diff --git a/deps/interval_tree/itree.h b/deps/interval_tree/itree.h index 505e272..d9abbe1 100644 --- a/deps/interval_tree/itree.h +++ b/deps/interval_tree/itree.h @@ -54,11 +54,9 @@ typedef void (*rel_f)(void *p); /* Interval tree functions */ itree_t *itree_new(dup_f dup, rel_f rel); void itree_delete(itree_t *tree); -// Find the first interval containing the specified interval interval_t *itree_find(itree_t *tree, interval_t *interval); ilist_t *itree_findall(itree_t *tree, interval_t *interval); int itree_insert(itree_t *tree, interval_t *interval); -// Delete the first interval contained by the specified interval int itree_remove(itree_t *tree, interval_t *interval); size_t itree_size(itree_t *tree); diff --git a/deps/interval_tree/test/gtest_interval_tree.cpp b/deps/interval_tree/test/gtest_interval_tree.cpp index 417c275..70c26ca 100644 --- a/deps/interval_tree/test/gtest_interval_tree.cpp +++ b/deps/interval_tree/test/gtest_interval_tree.cpp @@ -113,7 +113,7 @@ TEST(INTERVAL_TREE, FIND) #endif #if 1 -TEST(INTERVAL_TREE, DELETE1) +TEST(INTERVAL_TREE, DELETE) { itree_t *tree; interval_t query; @@ -151,58 +151,16 @@ TEST(INTERVAL_TREE, DELETE1) // delete query = { - .low = 5, - .high = 9, - }; - EXPECT_TRUE(itree_remove(tree, &query) == 1); - EXPECT_TRUE(itree_size(tree) == 0); - - itree_delete(tree); -} -#endif - -#if 1 -TEST(INTERVAL_TREE, DELETE2) -{ - itree_t *tree; - interval_t query; - interval_t segment; - - // new - tree = itree_new(my_dup, my_rel); - EXPECT_TRUE(tree != nullptr); - EXPECT_TRUE(itree_size(tree) == 0); - - // insert - segment = { - .low = 5, - .high = 9, - .data = (void *)"Hello", - }; - EXPECT_TRUE(itree_insert(tree, &segment) == 1); - EXPECT_TRUE(itree_size(tree) == 1); - - // insert - segment = { - .low = 15, - .high = 19, - .data = (void *)"World", - }; - EXPECT_TRUE(itree_insert(tree, &segment) == 1); - EXPECT_TRUE(itree_size(tree) == 2); - - // delete - query = { .low = 1, .high = 20, }; - EXPECT_TRUE(itree_remove(tree, &query) == 1); + EXPECT_TRUE(itree_remove(tree, &query) == 0); EXPECT_TRUE(itree_size(tree) == 1); // delete query = { - .low = 1, - .high = 20, + .low = 5, + .high = 9, }; EXPECT_TRUE(itree_remove(tree, &query) == 1); EXPECT_TRUE(itree_size(tree) == 0); |
