pespin submitted this change.
2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
smf: Move HTTP2 hdr block compressor helpers to HTTP2_Functions.ttcn
Change-Id: I5a4fffd4c26bde78340612fe024dc54c918885ab
---
M library/HTTP2_Functions.ttcn
M library/HTTP2_Server_Emulation.ttcn
M smf/SMF_Session_CT_5G.ttcn
3 files changed, 38 insertions(+), 56 deletions(-)
diff --git a/library/HTTP2_Functions.ttcn b/library/HTTP2_Functions.ttcn
index 307938b..2b8f16f 100644
--- a/library/HTTP2_Functions.ttcn
+++ b/library/HTTP2_Functions.ttcn
@@ -7,6 +7,40 @@
import from HTTP2_Types all;
import from HTTP2_Templates all;
+function f_HTTP2_header_block_encode(HTTP2_header_block hb) return octetstring
+{
+ var HTTP2_comp_context ctx;
+ var octetstring data := ''O;
+ var integer rc;
+
+ ctx := HTTP2_comp_context_init();
+ rc := HTTP2_comp_context_encode(ctx, hb, data);
+ HTTP2_comp_context_free(ctx);
+ if (rc != 0) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ log2str("HTTP2_comp_context_encode returned ", rc));
+ }
+ return data;
+}
+
+function f_HTTP2_header_block_decode(octetstring header_block_fragment)
+return HTTP2_header_block
+{
+ var HTTP2_comp_context ctx;
+ var HTTP2_header_block pl_hblock;
+ var integer rc;
+
+ ctx := HTTP2_comp_context_init();
+ rc := HTTP2_comp_context_decode(ctx, pl_hblock, header_block_fragment);
+ HTTP2_comp_context_free(ctx);
+ if (rc != 0) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ log2str("HTTP2_comp_context_decode returned ", rc));
+ }
+
+ return pl_hblock;
+}
+
function f_HTTP2_header_list_find_header(HTTP2_header_list headers, charstring header_name)
return template (omit) charstring {
for (var integer i := 0; i < lengthof(headers); i := i + 1) {
diff --git a/library/HTTP2_Server_Emulation.ttcn b/library/HTTP2_Server_Emulation.ttcn
index 779d7f3..7342f83 100644
--- a/library/HTTP2_Server_Emulation.ttcn
+++ b/library/HTTP2_Server_Emulation.ttcn
@@ -20,6 +20,7 @@
import from Socket_API_Definitions all;
import from HTTP2_Templates all;
+import from HTTP2_Functions all;
import from Native_Functions all;
import from Misc_Helpers all;
@@ -133,44 +134,6 @@
conn.state := state
}
-private function f_HTTP2_Server_Conn_comp_decode(inout HTTP2_Server_Conn conn, octetstring header_block_fragment)
-return HTTP2_header_block
-{
- var HTTP2_header_block pl_hblock;
- var HTTP2_comp_context ctx;
- var integer rc;
-
- ctx := HTTP2_comp_context_init();
- rc := HTTP2_comp_context_decode(ctx, pl_hblock, header_block_fragment);
- HTTP2_comp_context_free(ctx);
- if (rc != 0) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- log2str(f_HTTP2_Server_Conn_str(conn),
- ": HTTP2_comp_context_decode returned ", rc));
- }
-
- return pl_hblock;
-}
-
-private function f_HTTP2_Server_Conn_comp_encode(inout HTTP2_Server_Conn conn, HTTP2_header_block hb)
-return octetstring
-{
- var octetstring pl_frame_data;
- var HTTP2_comp_context ctx;
- var integer rc;
-
- ctx := HTTP2_comp_context_init();
- rc := HTTP2_comp_context_encode(ctx, hb, pl_frame_data);
- HTTP2_comp_context_free(ctx);
- if (rc != 0) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- log2str(f_HTTP2_Server_Conn_str(conn),
- ": HTTP2_comp_context_encode returned ", rc));
- }
-
- return pl_frame_data;
-}
-
/***********************************************************************
* Main Emulation Component (HTTP2 Server)
***********************************************************************/
@@ -352,7 +315,7 @@
}
var HTTP2_header_block hb;
- hb := f_HTTP2_Server_Conn_comp_decode(conn, http2_rx.frame.header_frame.header_block_fragment);
+ hb := f_HTTP2_header_block_decode(http2_rx.frame.header_frame.header_block_fragment);
/* TODO: store header in Conn or send to ConNHdlr? */
log(f_HTTP2_Server_Conn_str(conn), ": Decompressed header: ", hb);
if (not http2_rx.frame.header_frame.end_stream_flag) {
@@ -461,7 +424,7 @@
/* Send Header: */
f_HTTP2_Msg_append_hdr_content_length(http2_msg);
- var octetstring hdr_enc := f_HTTP2_Server_Conn_comp_encode(conn_table[idx], http2_msg.hb);
+ var octetstring hdr_enc := f_HTTP2_header_block_encode(http2_msg.hb);
http2_frame := ts_HTTP2_Frame_Header(http2_msg.stream_id,
end_stream_flag := not ispresent(http2_msg.body),
end_header_flag := true,
diff --git a/smf/SMF_Session_CT_5G.ttcn b/smf/SMF_Session_CT_5G.ttcn
index e7e8f62..f83c6fd 100644
--- a/smf/SMF_Session_CT_5G.ttcn
+++ b/smf/SMF_Session_CT_5G.ttcn
@@ -63,21 +63,6 @@
f_http2_adapter_send(ts_HTTP2_Frame_Window_Update(0, 1073741824));
}
-function f_http2_header_block_encode(HTTP2_header_block hb) return octetstring
-{
- var HTTP2_comp_context ctx := HTTP2_comp_context_init();
- var integer rc;
- var octetstring data := ''O;
-
- rc := HTTP2_comp_context_encode(ctx, hb, data);
- if (rc != 0) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
- log2str("HTTP2_comp_context_encode returned ", rc));
- }
- HTTP2_comp_context_free(ctx);
- return data;
-}
-
function f_http2_encode_body_multipart_json_5gnas(octetstring json_encoded,
octetstring nas_ecnoded,
charstring boundary := "=-0EVVjxcWWFYNd1JXh1OQEg==") return octetstring
@@ -150,7 +135,7 @@
ts_HTTP2_Hdr_accept_encoding("gzip")
};
hb := ts_HTTP2_header_block(pseudo_hdr, hdr_li);
- hdr_enc := f_http2_header_block_encode(valueof(hb));
+ hdr_enc := f_HTTP2_header_block_encode(valueof(hb));
f_http2_adapter_send(ts_HTTP2_Frame_Header(3,
end_stream_flag := false,
end_header_flag := true,
To view, visit change 43666. To unsubscribe, or for help writing mail filters, visit settings.