Adds verbose logging to CallbackVisitor.
PiperOrigin-RevId: 488405841
diff --git a/quiche/http2/adapter/callback_visitor.cc b/quiche/http2/adapter/callback_visitor.cc
index b5e6433..7cdb835 100644
--- a/quiche/http2/adapter/callback_visitor.cc
+++ b/quiche/http2/adapter/callback_visitor.cc
@@ -141,6 +141,7 @@
void CallbackVisitor::OnSettingsAck() {
// ACK is part of the flags, which were set in OnFrameHeader().
+ QUICHE_VLOG(1) << "OnSettingsAck()";
if (callbacks_->on_frame_recv_callback) {
const int result = callbacks_->on_frame_recv_callback(
nullptr, ¤t_frame_, user_data_);
@@ -180,8 +181,10 @@
}
Http2VisitorInterface::OnHeaderResult CallbackVisitor::OnHeaderForStream(
- Http2StreamId /*stream_id*/, absl::string_view name,
- absl::string_view value) {
+ Http2StreamId stream_id, absl::string_view name, absl::string_view value) {
+ QUICHE_VLOG(2) << "OnHeaderForStream(stream_id=" << stream_id << ", name=["
+ << absl::CEscape(name) << "], value=[" << absl::CEscape(value)
+ << "])";
if (callbacks_->on_header_callback) {
const int result = callbacks_->on_header_callback(
nullptr, ¤t_frame_, ToUint8Ptr(name.data()), name.size(),
@@ -199,7 +202,8 @@
return HEADER_OK;
}
-bool CallbackVisitor::OnEndHeadersForStream(Http2StreamId /*stream_id*/) {
+bool CallbackVisitor::OnEndHeadersForStream(Http2StreamId stream_id) {
+ QUICHE_VLOG(1) << "OnEndHeadersForStream(stream_id=" << stream_id << ")";
if (callbacks_->on_frame_recv_callback) {
const int result = callbacks_->on_frame_recv_callback(
nullptr, ¤t_frame_, user_data_);
@@ -234,6 +238,8 @@
bool CallbackVisitor::OnDataForStream(Http2StreamId stream_id,
absl::string_view data) {
+ QUICHE_VLOG(1) << "OnDataForStream(stream_id=" << stream_id
+ << ", data.size()=" << data.size() << ")";
int result = 0;
if (callbacks_->on_data_chunk_recv_callback) {
result = callbacks_->on_data_chunk_recv_callback(
@@ -249,10 +255,14 @@
return result == 0;
}
-void CallbackVisitor::OnEndStream(Http2StreamId /*stream_id*/) {}
+void CallbackVisitor::OnEndStream(Http2StreamId stream_id) {
+ QUICHE_VLOG(1) << "OnEndStream(stream_id=" << stream_id << ")";
+}
-void CallbackVisitor::OnRstStream(Http2StreamId /*stream_id*/,
+void CallbackVisitor::OnRstStream(Http2StreamId stream_id,
Http2ErrorCode error_code) {
+ QUICHE_VLOG(1) << "OnRstStream(stream_id=" << stream_id
+ << ", error_code=" << static_cast<int>(error_code) << ")";
current_frame_.rst_stream.error_code = static_cast<uint32_t>(error_code);
if (callbacks_->on_frame_recv_callback) {
const int result = callbacks_->on_frame_recv_callback(
@@ -263,10 +273,10 @@
bool CallbackVisitor::OnCloseStream(Http2StreamId stream_id,
Http2ErrorCode error_code) {
+ QUICHE_VLOG(1) << "OnCloseStream(stream_id=" << stream_id
+ << ", error_code=" << static_cast<int>(error_code) << ")";
int result = 0;
if (callbacks_->on_stream_close_callback) {
- QUICHE_VLOG(1) << "OnCloseStream(stream_id: " << stream_id
- << ", error_code: " << int(error_code) << ")";
result = callbacks_->on_stream_close_callback(
nullptr, stream_id, static_cast<uint32_t>(error_code), user_data_);
}
@@ -290,7 +300,9 @@
}
}
-void CallbackVisitor::OnPing(Http2PingId ping_id, bool /*is_ack*/) {
+void CallbackVisitor::OnPing(Http2PingId ping_id, bool is_ack) {
+ QUICHE_VLOG(1) << "OnPing(ping_id=" << static_cast<int64_t>(ping_id)
+ << ", is_ack=" << is_ack << ")";
uint64_t network_order_opaque_data =
quiche::QuicheEndian::HostToNet64(ping_id);
std::memcpy(current_frame_.ping.opaque_data, &network_order_opaque_data,
@@ -310,6 +322,10 @@
bool CallbackVisitor::OnGoAway(Http2StreamId last_accepted_stream_id,
Http2ErrorCode error_code,
absl::string_view opaque_data) {
+ QUICHE_VLOG(1) << "OnGoAway(last_accepted_stream_id="
+ << last_accepted_stream_id
+ << ", error_code=" << static_cast<int>(error_code)
+ << ", opaque_data=[" << absl::CEscape(opaque_data) << "])";
current_frame_.goaway.last_stream_id = last_accepted_stream_id;
current_frame_.goaway.error_code = static_cast<uint32_t>(error_code);
current_frame_.goaway.opaque_data = ToUint8Ptr(opaque_data.data());
@@ -322,8 +338,10 @@
return true;
}
-void CallbackVisitor::OnWindowUpdate(Http2StreamId /*stream_id*/,
+void CallbackVisitor::OnWindowUpdate(Http2StreamId stream_id,
int window_increment) {
+ QUICHE_VLOG(1) << "OnWindowUpdate(stream_id=" << stream_id
+ << ", delta=" << window_increment << ")";
current_frame_.window_update.window_size_increment = window_increment;
if (callbacks_->on_frame_recv_callback) {
const int result = callbacks_->on_frame_recv_callback(
@@ -368,10 +386,10 @@
int CallbackVisitor::OnBeforeFrameSent(uint8_t frame_type,
Http2StreamId stream_id, size_t length,
uint8_t flags) {
+ QUICHE_VLOG(1) << "OnBeforeFrameSent(stream_id=" << stream_id
+ << ", type=" << int(frame_type) << ", length=" << length
+ << ", flags=" << int(flags) << ")";
if (callbacks_->before_frame_send_callback) {
- QUICHE_VLOG(1) << "OnBeforeFrameSent(stream_id=" << stream_id
- << ", type=" << int(frame_type) << ", length=" << length
- << ", flags=" << int(flags) << ")";
nghttp2_frame frame;
auto it = GetStreamInfo(stream_id);
// The implementation of the before_frame_send_callback doesn't look at the
@@ -387,11 +405,11 @@
int CallbackVisitor::OnFrameSent(uint8_t frame_type, Http2StreamId stream_id,
size_t length, uint8_t flags,
uint32_t error_code) {
+ QUICHE_VLOG(1) << "OnFrameSent(stream_id=" << stream_id
+ << ", type=" << int(frame_type) << ", length=" << length
+ << ", flags=" << int(flags) << ", error_code=" << error_code
+ << ")";
if (callbacks_->on_frame_send_callback) {
- QUICHE_VLOG(1) << "OnFrameSent(stream_id=" << stream_id
- << ", type=" << int(frame_type) << ", length=" << length
- << ", flags=" << int(flags) << ", error_code=" << error_code
- << ")";
nghttp2_frame frame;
auto it = GetStreamInfo(stream_id);
PopulateFrame(frame, frame_type, stream_id, length, flags, error_code,
@@ -452,6 +470,7 @@
}
void CallbackVisitor::OnErrorDebug(absl::string_view message) {
+ QUICHE_VLOG(1) << "OnErrorDebug(message=[" << absl::CEscape(message) << "])";
if (callbacks_->error_callback2) {
callbacks_->error_callback2(nullptr, -1, message.data(), message.size(),
user_data_);