-
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
Synchronous Socket: unnecessary skb postponing #80
Comments
That is correct summary of my notes. Closely related is issue #31. An incoming SKB is processed by Then Granted, that doesn't do any harm as the SKB is not actually added to the same list twice due to safely measures. All of that means the following:
|
Due to specifics of SKB processing in Tempesta postponing has become a dummy operation that does nothing and is completely unnecessary.
TFW_POSTPONE status of HTTP data parsing means that parsing succeeded but additional data is needed to complete it. This status only makes sense in upper layers that process the results of parsing and act on it. Lower layers just supply data. They only want to know if processing of a message should be continued or not.
TFW_POSTPONE status of HTTP data parsing means that parsing succeeded but additional data is needed to complete it. This status only makes sense in upper layers that process the results of parsing and act on it. Lower layers just supply data. They only want to know if processing of a message should be continued or not.
TFW_POSTPONE status of HTTP data parsing means that parsing succeeded but more data is needed to complete it. This status only makes sense in upper layers that process the results of parsing and act upon it. Lower layers just supply data for parsing. They only want to know if processing of a message should continue or not.
TFW_POSTPONE status of HTTP data parsing means that parsing succeeded but more data is needed to complete it. This status only makes sense in upper layers that process the results of parsing and act upon it. Lower layers just supply data for parsing. They only want to know if processing of a message should continue or not.
Eliminate unnecessary SKB postponing (#80)
Based on Alexey's notes.
ss_tcp_process_proto_skb() calls postpone_skb() callback if connection_recv() returns SS_POSTPONE. postpone_skb() points to tfw_connection_postpone_skb() which just adds the skb to conn->msg->skb_list. Meantime, ss_tcp_process_skb() firstly calls put_skb_to_msg() callback before executing ss_tcp_process_proto_skb() and the callback points to tfw_connection_put_skb_to_msg() which also adds the skb to the same list. So postponing the skb has no sense.
The text was updated successfully, but these errors were encountered: