summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordemo <demo@antix1>2026-05-27 12:09:31 -0400
committerdemo <demo@antix1>2026-05-27 12:09:31 -0400
commitebb7f3eb80c86ae110aaaaf73381e677c33699c1 (patch)
tree413918a80633d258ceb44b51471f84684ec36aa0
parent7852eae1e9653d9a62ff3c82b8fac2954ee1944f (diff)
wip: prototype a max-depth limitation
It's just bolted on with a constant right now though.
-rw-r--r--classic.go6
-rw-r--r--main.go2
2 files changed, 6 insertions, 2 deletions
diff --git a/classic.go b/classic.go
index bd689fc..deb14fd 100644
--- a/classic.go
+++ b/classic.go
@@ -8,7 +8,7 @@ import (
"sync"
)
-func classic(startURL url.URL, maxConcurrency, maxURLs int) {
+func classic(startURL url.URL, maxConcurrency, maxURLs, maxDepth int) {
worklist := make(chan []packet)
var numPendingSends int
@@ -40,6 +40,10 @@ loop:
break loop
}
+ if p.depth == maxDepth {
+ continue
+ }
+
numPendingSends++
wg.Go(func() {
sema <- struct{}{}
diff --git a/main.go b/main.go
index bd30a4c..5673441 100644
--- a/main.go
+++ b/main.go
@@ -41,7 +41,7 @@ func main() {
}
getLeakProfile(func() {
- classic(*startURL, *maxConcurrency, *maxURLs)
+ classic(*startURL, *maxConcurrency, *maxURLs, 1)
})
}