-
Notifications
You must be signed in to change notification settings - Fork 20.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests/fuzzers/les: add fuzzer for les server handler #22282
Conversation
4e39767
to
b9003da
Compare
tests: update les fuzzer tests/fuzzer/les: release resources tests/fuzzer/les: pre-initialize all resources
b9003da
to
acbcddd
Compare
acbcddd
to
347afb4
Compare
// If so, deduct the max cost from the flow control buffer. | ||
accept := func(reqID, reqCnt, maxCnt uint64) bool { | ||
// Short circuit if the peer is already frozen or the request is invalid. | ||
inSizeCost := h.server.costTracker.realCost(0, msg.Size, 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be super super nice if we can encapsulate these "before-serving" logic and "after-serving" logic into two separate functions: "prepare" and "finalize". The execution is in the middle.
Just throw out the thoughts here. We can open the following PR if you also think it's a good idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, let's do it in a follow-up PR.
Ran the fuzzer for a while, no crash detected.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR refactors the LES server handler in order to make fuzzer testing possible and implements the fuzzer.
Replaces #22173 and #22237