Packages
hackney
2.0.1
4.7.2
4.7.1
4.7.0
4.6.1
4.6.0
4.5.2
4.5.1
4.5.0
4.4.5
4.4.3
4.4.2
4.4.1
4.4.0
4.3.0
4.2.3
4.2.2
4.2.1
4.2.0
4.1.0
4.0.3
4.0.2
4.0.1
4.0.0
3.2.1
3.2.0
3.1.2
3.1.1
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
retired
2.0.1
2.0.0
2.0.0-beta.1
1.25.0
1.24.1
1.24.0
1.23.0
1.22.0
1.21.0
1.20.1
1.20.0
1.19.1
1.19.0
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.0
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.0
1.13.0
1.12.1
1.12.0
1.11.0
1.10.1
1.10.0
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.0
1.7.1
1.7.0
1.6.6
retired
1.6.5
1.6.4
retired
1.6.3
1.6.2
1.6.1
1.6.0
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.10
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.0
1.0.6
1.0.5
1.0.2
1.0.1
0.15.2
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
Simple HTTP client with HTTP/1.1, HTTP/2, and HTTP/3 support
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
c_src/lsquic/src/liblsquic/lsquic_packet_resize.h
/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */
/*
* lsquic_packet_resize.h -- functions to resize packets
*/
#ifndef LSQUIC_PACKET_RESIZE_H
#define LSQUIC_PACKET_RESIZE_H 1
struct lsquic_packet_out;
struct lsquic_conn;
struct frame_rec;
struct lsquic_engine_public;
struct packet_resize_if
{
/* Get next packet to convert */
struct lsquic_packet_out *
(*pri_next_packet)(void *ctx);
/* Discard packet after it was converted */
void (*pri_discard_packet)(void *ctx, struct lsquic_packet_out *);
/* Get new packet to write frames to */
struct lsquic_packet_out *
(*pri_new_packet)(void *ctx);
};
struct packet_resize_ctx
{
const struct lsquic_conn *prc_conn;
void *prc_data; /* First arg to prc_pri */
const struct packet_resize_if *prc_pri;
struct lsquic_engine_public *prc_enpub;
const struct frame_rec *prc_cur_frec;
struct lsquic_packet_out *prc_cur_packet;
struct data_frame prc_data_frame;
struct packet_out_frec_iter prc_pofi;
enum {
PRC_ERROR = 1 << 0,
PRC_NEW_FREC = 1 << 1,
} prc_flags;
};
void
lsquic_packet_resize_init (struct packet_resize_ctx *,
struct lsquic_engine_public *, struct lsquic_conn *, void *ctx,
const struct packet_resize_if *);
struct lsquic_packet_out *
lsquic_packet_resize_next (struct packet_resize_ctx *);
#define lsquic_packet_resize_is_error(prctx_) \
(!!((prctx_)->prc_flags & PRC_ERROR))
#endif