lsquic_hcso_writer.h revision a74702c6
1/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ 2/* 3 * lsquic_hcso_writer.h 4 */ 5 6#ifndef LSQUIC_HCSO_WRITER_H 7#define LSQUIC_HCSO_WRITER_H 1 8 9struct lsquic_ext_http_prio; 10struct lsquic_stream; 11 12struct hcso_writer 13{ 14 struct lsquic_stream *how_stream; 15 struct frab_list how_fral; 16#ifndef NDEBUG 17 enum { 18 HOW_RAND_VARINT = 1 << 0, 19 HOW_CHOP_STREAM = 1 << 1, 20 } how_flags; 21#endif 22}; 23 24int 25lsquic_hcso_write_settings (struct hcso_writer *, 26 unsigned, unsigned, unsigned, int); 27 28int 29lsquic_hcso_write_goaway (struct hcso_writer *, lsquic_stream_id_t); 30 31int 32lsquic_hcso_write_max_push_id (struct hcso_writer *, uint64_t max_push_id); 33 34int 35lsquic_hcso_write_cancel_push (struct hcso_writer *, uint64_t push_id); 36 37int 38lsquic_hcso_write_priority_update (struct hcso_writer *, 39 enum hq_frame_type, uint64_t stream_or_push_id, 40 const struct lsquic_ext_http_prio *); 41 42extern const struct lsquic_stream_if *const lsquic_hcso_writer_if; 43 44#endif 45