|
curl-fuzzer C++ reference
|
Converts Http2Plan actions to correlated wire frames while tracking the request streams observed from curl. More...
#include <h2_plan.h>
Public Member Functions | |
| void | Reset (const curl::fuzzer::proto::Http2Plan &plan, std::string scheme="https", std::string authority="tls.test") |
| Reset HPACK and stream state for one connection. | |
| void | ObserveIncomingData (const unsigned char *data, std::size_t size) override |
| Parse client frame headers after transport decoding. | |
| bool | NextChunk (std::string *output) |
| Advance one scripted boundary. | |
| bool | has_pending_work () const |
| std::size_t | observed_request_count () const |
| std::size_t | observed_client_settings_count () const |
| std::size_t | observed_client_priority_count () const |
Converts Http2Plan actions to correlated wire frames while tracking the request streams observed from curl.
It has no transport dependency and can therefore serve both TLS and cleartext H2 origin peers.
| bool proto_fuzzer::H2PlanDriver::has_pending_work | ( | ) | const |
Definition at line 545 of file h2_plan.cc.
| bool proto_fuzzer::H2PlanDriver::NextChunk | ( | std::string * | output | ) |
Advance one scripted boundary.
output receives zero or more complete HTTP/2 frames. A true result also represents a consumed wait or yield; false means the next barrier is not ready or the plan is complete.
| output | Destination for the serialized frame bytes. |
Definition at line 489 of file h2_plan.cc.
| std::size_t proto_fuzzer::H2PlanDriver::observed_client_priority_count | ( | ) | const |
Definition at line 560 of file h2_plan.cc.
| std::size_t proto_fuzzer::H2PlanDriver::observed_client_settings_count | ( | ) | const |
Definition at line 557 of file h2_plan.cc.
| std::size_t proto_fuzzer::H2PlanDriver::observed_request_count | ( | ) | const |
Definition at line 554 of file h2_plan.cc.
|
overridevirtual |
Parse client frame headers after transport decoding.
| data | Contiguous bytes received from curl. |
| size | Number of bytes available at data. |
Implements proto_fuzzer::IncomingDataObserver.
Definition at line 158 of file h2_plan.cc.
| void proto_fuzzer::H2PlanDriver::Reset | ( | const curl::fuzzer::proto::Http2Plan & | plan, |
| std::string | scheme = "https", | ||
| std::string | authority = "tls.test" ) |
Reset HPACK and stream state for one connection.
| plan | Ordered H2 actions and initial peer settings to execute. |
| scheme | Scheme used in generated push-request pseudo-headers. |
| authority | Authority used in generated push-request pseudo-headers. |
Definition at line 135 of file h2_plan.cc.