Moves nghttp2_session_callbacks creation from test code to nghttp2_callbacks.h.
PiperOrigin-RevId: 368278257
Change-Id: Ib27ad77919145292256c4cd0150e20c335084ab3
diff --git a/http2/adapter/nghttp2_callbacks.cc b/http2/adapter/nghttp2_callbacks.cc
index e897fa8..b54c915 100644
--- a/http2/adapter/nghttp2_callbacks.cc
+++ b/http2/adapter/nghttp2_callbacks.cc
@@ -14,6 +14,7 @@
namespace http2 {
namespace adapter {
+namespace callbacks {
int OnBeginFrame(nghttp2_session* /* session */,
const nghttp2_frame_hd* header,
@@ -187,5 +188,24 @@
return bytes_to_send;
}
+nghttp2_session_callbacks* Create() {
+ nghttp2_session_callbacks* callbacks;
+ nghttp2_session_callbacks_new(&callbacks);
+
+ nghttp2_session_callbacks_set_on_begin_frame_callback(callbacks,
+ &OnBeginFrame);
+ nghttp2_session_callbacks_set_on_frame_recv_callback(callbacks,
+ &OnFrameReceived);
+ nghttp2_session_callbacks_set_on_begin_headers_callback(callbacks,
+ &OnBeginHeaders);
+ nghttp2_session_callbacks_set_on_header_callback2(callbacks, &OnHeader);
+ nghttp2_session_callbacks_set_on_data_chunk_recv_callback(callbacks,
+ &OnDataChunk);
+ nghttp2_session_callbacks_set_on_stream_close_callback(callbacks,
+ &OnStreamClosed);
+ return callbacks;
+}
+
+} // namespace callbacks
} // namespace adapter
} // namespace http2
diff --git a/http2/adapter/nghttp2_callbacks.h b/http2/adapter/nghttp2_callbacks.h
index 7e6ce7c..ba10e13 100644
--- a/http2/adapter/nghttp2_callbacks.h
+++ b/http2/adapter/nghttp2_callbacks.h
@@ -6,6 +6,7 @@
namespace http2 {
namespace adapter {
+namespace callbacks {
// The following functions are nghttp2 callbacks that Nghttp2Adapter sets at the
// beginning of its lifetime. It is expected that |user_data| holds an
@@ -46,6 +47,9 @@
nghttp2_data_source* source,
void* user_data);
+nghttp2_session_callbacks* Create();
+
+} // namespace callbacks
} // namespace adapter
} // namespace http2
diff --git a/http2/adapter/nghttp2_session_test.cc b/http2/adapter/nghttp2_session_test.cc
index ad74013..1f0dd8f 100644
--- a/http2/adapter/nghttp2_session_test.cc
+++ b/http2/adapter/nghttp2_session_test.cc
@@ -41,21 +41,7 @@
}
nghttp2_session_callbacks* CreateCallbacks() {
- nghttp2_session_callbacks* callbacks;
- nghttp2_session_callbacks_new(&callbacks);
-
- nghttp2_session_callbacks_set_on_begin_frame_callback(callbacks,
- &OnBeginFrame);
- nghttp2_session_callbacks_set_on_frame_recv_callback(callbacks,
- &OnFrameReceived);
- nghttp2_session_callbacks_set_on_begin_headers_callback(callbacks,
- &OnBeginHeaders);
- nghttp2_session_callbacks_set_on_header_callback2(callbacks, &OnHeader);
- nghttp2_session_callbacks_set_on_data_chunk_recv_callback(callbacks,
- &OnDataChunk);
- nghttp2_session_callbacks_set_on_stream_close_callback(callbacks,
- &OnStreamClosed);
-
+ nghttp2_session_callbacks* callbacks = callbacks::Create();
nghttp2_session_callbacks_set_send_callback(callbacks, &SaveSessionOutput);
return callbacks;
}