Conversation
dbebd24 to
0008e99
Compare
|
|
||
| protected: | ||
| Http3Error(){}; | ||
| Http3Error() : app_error_code(Http3ErrorCode::H3_NO_ERROR){}; |
There was a problem hiding this comment.
Default error code is not 0 anymore due to #9793. I can make a separate PR for this if needed.
proxy/http3/Http3FrameDispatcher.cc
Outdated
|
|
||
| // Dispatch | ||
| Http3FrameType type = frame->type(); | ||
| if (stream_type == Http3StreamType::CONTROL) { |
There was a problem hiding this comment.
Can you put this into a private function? This block will be very long eventually. For example, we also need to check this:
If a DATA frame is received on a control stream, the recipient MUST respond with a connection error of type H3_FRAME_UNEXPECTED.
I was going to make ProtocolEnforcer that inherits FrameHandler and handle all frame types (as you can see we can have multiple frame handlers for a frame type). With the enforcer, a dispatcher can focus on dispatching. The Single Responsibility Principle.
0008e99 to
2dff907
Compare
maskit
left a comment
There was a problem hiding this comment.
Looks good. Thanks for updating the code.
|
[approve ci autest] |
this resolves #9428