lsquic_hcso_writer.h revision fbc6cc04
17d09751dSDmitri Tikhonov/* Copyright (c) 2017 - 2020 LiteSpeed Technologies Inc. See LICENSE. */ 25392f7a3SLiteSpeed Tech/* 35392f7a3SLiteSpeed Tech * lsquic_hcso_writer.h 45392f7a3SLiteSpeed Tech */ 55392f7a3SLiteSpeed Tech 65392f7a3SLiteSpeed Tech#ifndef LSQUIC_HCSO_WRITER_H 75392f7a3SLiteSpeed Tech#define LSQUIC_HCSO_WRITER_H 1 85392f7a3SLiteSpeed Tech 95392f7a3SLiteSpeed Techstruct lsquic_engine_settings; 10fbc6cc04SDmitri Tikhonovstruct lsquic_ext_http_prio; 115392f7a3SLiteSpeed Techstruct lsquic_stream; 125392f7a3SLiteSpeed Tech 135392f7a3SLiteSpeed Techstruct hcso_writer 145392f7a3SLiteSpeed Tech{ 155392f7a3SLiteSpeed Tech struct lsquic_stream *how_stream; 165392f7a3SLiteSpeed Tech struct frab_list how_fral; 175392f7a3SLiteSpeed Tech#ifndef NDEBUG 185392f7a3SLiteSpeed Tech enum { 195392f7a3SLiteSpeed Tech HOW_RAND_VARINT = 1 << 0, 205392f7a3SLiteSpeed Tech HOW_CHOP_STREAM = 1 << 1, 215392f7a3SLiteSpeed Tech } how_flags; 225392f7a3SLiteSpeed Tech#endif 235392f7a3SLiteSpeed Tech}; 245392f7a3SLiteSpeed Tech 255392f7a3SLiteSpeed Techint 265392f7a3SLiteSpeed Techlsquic_hcso_write_settings (struct hcso_writer *, 275392f7a3SLiteSpeed Tech const struct lsquic_engine_settings *, int); 285392f7a3SLiteSpeed Tech 295392f7a3SLiteSpeed Techint 305392f7a3SLiteSpeed Techlsquic_hcso_write_goaway (struct hcso_writer *, lsquic_stream_id_t); 315392f7a3SLiteSpeed Tech 325392f7a3SLiteSpeed Techint 335392f7a3SLiteSpeed Techlsquic_hcso_write_max_push_id (struct hcso_writer *, uint64_t max_push_id); 345392f7a3SLiteSpeed Tech 355392f7a3SLiteSpeed Techint 365392f7a3SLiteSpeed Techlsquic_hcso_write_cancel_push (struct hcso_writer *, uint64_t push_id); 375392f7a3SLiteSpeed Tech 38fbc6cc04SDmitri Tikhonovint 39fbc6cc04SDmitri Tikhonovlsquic_hcso_write_priority_update (struct hcso_writer *, 40fbc6cc04SDmitri Tikhonov enum hq_frame_type, uint64_t stream_or_push_id, 41fbc6cc04SDmitri Tikhonov const struct lsquic_ext_http_prio *); 42fbc6cc04SDmitri Tikhonov 435392f7a3SLiteSpeed Techextern const struct lsquic_stream_if *const lsquic_hcso_writer_if; 445392f7a3SLiteSpeed Tech 455392f7a3SLiteSpeed Tech#endif 46