@@ -101,8 +101,7 @@ int aws_h2_frame_header_block_init(struct aws_h2_frame_header_block *header_bloc
101101 AWS_PRECONDITION (header_block );
102102 AWS_PRECONDITION (allocator );
103103
104- return aws_array_list_init_dynamic (
105- & header_block -> header_fields , allocator , 0 , sizeof (struct aws_h2_frame_header_field ));
104+ return aws_array_list_init_dynamic (& header_block -> header_fields , allocator , 0 , sizeof (struct aws_http_header ));
106105}
107106void aws_h2_frame_header_block_clean_up (struct aws_h2_frame_header_block * header_block ) {
108107 AWS_PRECONDITION (header_block );
@@ -126,27 +125,27 @@ int aws_h2_frame_header_block_get_encoded_length(
126125 const size_t num_headers = aws_array_list_length (& header_block -> header_fields );
127126 for (size_t i = 0 ; i < num_headers ; ++ i ) {
128127
129- const struct aws_h2_frame_header_field * field = NULL ;
128+ const struct aws_http_header * field = NULL ;
130129 aws_array_list_get_at_ptr (& header_block -> header_fields , (void * * )& field , i );
131130 AWS_ASSERT (field );
132131
133132 bool found_value = false;
134- const size_t index = aws_hpack_find_index (encoder -> hpack , & field -> header , & found_value );
133+ const size_t index = aws_hpack_find_index (encoder -> hpack , field , & found_value );
135134
136135 uint8_t prefix_size ;
137136 /* If a value was found, this is an indexed header */
138137 if (found_value ) {
139138 prefix_size = 7 ;
140139 } else {
141140 /* If not indexed, determine the appropriate flags and prefixes */
142- switch (field -> hpack_behavior ) {
143- case AWS_H2_HEADER_BEHAVIOR_SAVE :
141+ switch (field -> compression ) {
142+ case AWS_HTTP_HEADER_COMPRESSION_USE_CACHE :
144143 prefix_size = 6 ;
145144 break ;
146- case AWS_H2_HEADER_BEHAVIOR_NO_SAVE :
145+ case AWS_HTTP_HEADER_COMPRESSION_NO_CACHE :
147146 prefix_size = 4 ;
148147 break ;
149- case AWS_H2_HEADER_BEHAVIOR_NO_FORWARD_SAVE :
148+ case AWS_HTTP_HEADER_COMPRESSION_NO_FORWARD_CACHE :
150149 prefix_size = 5 ;
151150 break ;
152151 default :
@@ -161,12 +160,11 @@ int aws_h2_frame_header_block_get_encoded_length(
161160 if (!found_value ) {
162161 /* If not an indexed header, check if the name needs to be written */
163162 if (!index ) {
164- * length +=
165- aws_hpack_get_encoded_length_string (encoder -> hpack , field -> header .name , encoder -> use_huffman );
163+ * length += aws_hpack_get_encoded_length_string (encoder -> hpack , field -> name , encoder -> use_huffman );
166164 }
167165
168166 /* Value must be written if the field isn't pure indexed */
169- * length += aws_hpack_get_encoded_length_string (encoder -> hpack , field -> header . value , encoder -> use_huffman );
167+ * length += aws_hpack_get_encoded_length_string (encoder -> hpack , field -> value , encoder -> use_huffman );
170168 }
171169 }
172170
@@ -186,12 +184,12 @@ int aws_h2_frame_header_block_encode(
186184
187185 for (size_t i = 0 ; i < num_headers ; ++ i ) {
188186
189- const struct aws_h2_frame_header_field * field = NULL ;
187+ const struct aws_http_header * field = NULL ;
190188 aws_array_list_get_at_ptr (& header_block -> header_fields , (void * * )& field , i );
191189 AWS_ASSERT (field );
192190
193191 bool found_value = true;
194- const size_t index = aws_hpack_find_index (encoder -> hpack , & field -> header , & found_value );
192+ const size_t index = aws_hpack_find_index (encoder -> hpack , field , & found_value );
195193
196194 uint8_t mask ;
197195 uint8_t prefix_size ;
@@ -201,16 +199,16 @@ int aws_h2_frame_header_block_encode(
201199 prefix_size = 7 ;
202200 } else {
203201 /* If not indexed, determine the appropriate flags and prefixes */
204- switch (field -> hpack_behavior ) {
205- case AWS_H2_HEADER_BEHAVIOR_SAVE :
202+ switch (field -> compression ) {
203+ case AWS_HTTP_HEADER_COMPRESSION_USE_CACHE :
206204 mask = s_literal_save_field_mask ;
207205 prefix_size = 6 ;
208206 break ;
209- case AWS_H2_HEADER_BEHAVIOR_NO_SAVE :
207+ case AWS_HTTP_HEADER_COMPRESSION_NO_CACHE :
210208 mask = 0 ; /* No bits set, just 4 bit prefix */
211209 prefix_size = 4 ;
212210 break ;
213- case AWS_H2_HEADER_BEHAVIOR_NO_FORWARD_SAVE :
211+ case AWS_HTTP_HEADER_COMPRESSION_NO_FORWARD_CACHE :
214212 mask = s_literal_no_forward_save_mask ;
215213 prefix_size = 4 ;
216214 break ;
@@ -236,23 +234,23 @@ int aws_h2_frame_header_block_encode(
236234 if (!found_value ) {
237235 /* If not an indexed header, check if the name needs to be written */
238236 if (!index ) {
239- scratch = field -> header . name ;
237+ scratch = field -> name ;
240238 if (aws_hpack_encode_string (encoder -> hpack , & scratch , encoder -> use_huffman , output )) {
241239 return AWS_OP_ERR ;
242240 }
243241 AWS_ASSERT (scratch .len == 0 );
244242 }
245243
246244 /* Value must be written if the field isn't pure indexed */
247- scratch = field -> header . value ;
245+ scratch = field -> value ;
248246 if (aws_hpack_encode_string (encoder -> hpack , & scratch , encoder -> use_huffman , output )) {
249247 return AWS_OP_ERR ;
250248 }
251249 AWS_ASSERT (scratch .len == 0 );
252250
253- if (field -> hpack_behavior == AWS_H2_HEADER_BEHAVIOR_SAVE ) {
251+ if (field -> compression == AWS_HTTP_HEADER_COMPRESSION_USE_CACHE ) {
254252 /* Save for next time */
255- aws_hpack_insert_header (encoder -> hpack , & field -> header );
253+ aws_hpack_insert_header (encoder -> hpack , field );
256254 }
257255 }
258256
0 commit comments