-
Notifications
You must be signed in to change notification settings - Fork 103
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
http_parser: missing the obs-text #938
Comments
Hi @kamyuentse , thanks for the report! I can confirm that there is a bug: the test aa34dc9 fails with:
|
@krizhanovsky Thanks for your response, I am looking for a solution for this. Extend the original approach to match But, come up with a generalized |
@kamyuentse , thank you for working on the problem. Yes this is fundamental problem of the algorithm. It was designed to solve URI processing issues and during the design I forgot about Of course, we can just add a range check, e.g. compare all the vector bytes for signed Next, Moreover, we want to provide custom characters set for URI and HTTP headers, so which seems also require two function: the current |
Fix #938. See PoC and benchmarks at tempesta-tech/blog@d0b016d
This is an awesome work, thanks a lot! I am playing with the code of this repo. But I am confused by the HTTP parser here.
tempesta
use SIMD to boost up the parser, the most important primitive here is the__tfw_strspn_simd
, but I find a problem I am trying to run the following tests, according to the comments in the code, thetfw_match_ctext_vchar
SHOULD match0xff
(ctext = .... | obs-text
), while it doesn't. The reason here might the usage of_mm256_shuffle_epi8
when the most significant bit = 1, the shuffled result would be0x00
, so when the input char = 0b1xxxxxxx, we not accept it, which means we lost theobs-text
?Output:
The text was updated successfully, but these errors were encountered: