(draw)
| 201 | |
| 202 | @composite |
| 203 | def h2_frames(draw): |
| 204 | ff = FrameFactory() |
| 205 | headers1 = ff.build_headers_frame(headers=draw(h2_headers())) |
| 206 | headers1.flags.clear() |
| 207 | headers1.flags |= draw(h2_flags) |
| 208 | headers2 = ff.build_headers_frame( |
| 209 | headers=draw(h2_headers()), |
| 210 | depends_on=draw(h2_stream_ids), |
| 211 | stream_weight=draw(integers(0, 255)), |
| 212 | exclusive=draw(booleans()), |
| 213 | ) |
| 214 | headers2.flags.clear() |
| 215 | headers2.flags |= draw(h2_flags) |
| 216 | settings = ff.build_settings_frame( |
| 217 | settings=draw( |
| 218 | dictionaries( |
| 219 | keys=sampled_from(SettingCodes), |
| 220 | values=integers(0, 2**32 - 1), |
| 221 | max_size=5, |
| 222 | ) |
| 223 | ), |
| 224 | ack=draw(booleans()), |
| 225 | ) |
| 226 | continuation = ff.build_continuation_frame( |
| 227 | header_block=ff.encoder.encode(draw(h2_headers())), flags=draw(h2_flags) |
| 228 | ) |
| 229 | goaway = ff.build_goaway_frame(draw(h2_stream_ids)) |
| 230 | push_promise = ff.build_push_promise_frame( |
| 231 | stream_id=draw(h2_stream_ids_nonzero), |
| 232 | promised_stream_id=draw(h2_stream_ids), |
| 233 | headers=draw(h2_headers()), |
| 234 | ) |
| 235 | rst = ff.build_rst_stream_frame(draw(h2_stream_ids_nonzero)) |
| 236 | prio = ff.build_priority_frame( |
| 237 | stream_id=draw(h2_stream_ids_nonzero), |
| 238 | weight=draw(integers(0, 255)), |
| 239 | depends_on=draw(h2_stream_ids), |
| 240 | exclusive=draw(booleans()), |
| 241 | ) |
| 242 | data1 = ff.build_data_frame(draw(binary()), draw(h2_flags)) |
| 243 | data2 = ff.build_data_frame( |
| 244 | draw(binary()), draw(h2_flags), stream_id=draw(h2_stream_ids_nonzero) |
| 245 | ) |
| 246 | window_update = ff.build_window_update_frame( |
| 247 | draw(h2_stream_ids), draw(integers(0, 2**32 - 1)) |
| 248 | ) |
| 249 | |
| 250 | frames = draw( |
| 251 | lists( |
| 252 | sampled_from( |
| 253 | [ |
| 254 | headers1, |
| 255 | headers2, |
| 256 | settings, |
| 257 | continuation, |
| 258 | goaway, |
| 259 | push_promise, |
| 260 | rst, |
nothing calls this directly
no test coverage detected
searching dependent graphs…