lsquic_hcso_writer.h revision fbc6cc04
1/* Copyright (c) 2017 - 2020 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_engine_settings; 10struct lsquic_ext_http_prio; 11struct lsquic_stream; 12 13struct hcso_writer 14{ 15 struct lsquic_stream *how_stream; 16 struct frab_list how_fral; 17#ifndef NDEBUG 18 enum { 19 HOW_RAND_VARINT = 1 << 0, 20 HOW_CHOP_STREAM = 1 << 1, 21 } how_flags; 22#endif 23}; 24 25int 26lsquic_hcso_write_settings (struct hcso_writer *, 27 const struct lsquic_engine_settings *, int); 28 29int 30lsquic_hcso_write_goaway (struct hcso_writer *, lsquic_stream_id_t); 31 32int 33lsquic_hcso_write_max_push_id (struct hcso_writer *, uint64_t max_push_id); 34 35int 36lsquic_hcso_write_cancel_push (struct hcso_writer *, uint64_t push_id); 37 38int 39lsquic_hcso_write_priority_update (struct hcso_writer *, 40 enum hq_frame_type, uint64_t stream_or_push_id, 41 const struct lsquic_ext_http_prio *); 42 43extern const struct lsquic_stream_if *const lsquic_hcso_writer_if; 44 45#endif 46