comparison src/event/quic/ngx_event_quic_frames.h @ 8409:660c4a2f95f3 quic

QUIC: separate files for frames related processing.
author Vladimir Homutov <vl@nginx.com>
date Tue, 13 Apr 2021 14:38:46 +0300
parents
children f52a2b77d406
comparison
equal deleted inserted replaced
8408:e0cb1e58ca13 8409:660c4a2f95f3
1
2 /*
3 * Copyright (C) Nginx, Inc.
4 */
5
6
7 #ifndef _NGX_EVENT_QUIC_FRAMES_H_INCLUDED_
8 #define _NGX_EVENT_QUIC_FRAMES_H_INCLUDED_
9
10
11 #include <ngx_config.h>
12 #include <ngx_core.h>
13
14
15 typedef ngx_int_t (*ngx_quic_frame_handler_pt)(ngx_connection_t *c,
16 ngx_quic_frame_t *frame, void *data);
17
18
19 ngx_quic_frame_t *ngx_quic_alloc_frame(ngx_connection_t *c);
20 void ngx_quic_free_frame(ngx_connection_t *c, ngx_quic_frame_t *frame);
21 void ngx_quic_free_frames(ngx_connection_t *c, ngx_queue_t *frames);
22 void ngx_quic_queue_frame(ngx_quic_connection_t *qc, ngx_quic_frame_t *frame);
23 ngx_int_t ngx_quic_split_frame(ngx_connection_t *c, ngx_quic_frame_t *f,
24 size_t len);
25
26 ngx_chain_t *ngx_quic_alloc_buf(ngx_connection_t *c);
27 ngx_chain_t *ngx_quic_copy_buf(ngx_connection_t *c, u_char *data,
28 size_t len);
29 ngx_chain_t *ngx_quic_copy_chain(ngx_connection_t *c, ngx_chain_t *in,
30 size_t limit);
31
32 ngx_int_t ngx_quic_handle_ordered_frame(ngx_connection_t *c,
33 ngx_quic_frames_stream_t *fs, ngx_quic_frame_t *frame,
34 ngx_quic_frame_handler_pt handler, void *data);
35
36 #if (NGX_DEBUG)
37 void ngx_quic_log_frame(ngx_log_t *log, ngx_quic_frame_t *f, ngx_uint_t tx);
38 #else
39 #define ngx_quic_log_frame(log, f, tx)
40 #endif
41
42 #endif /* _NGX_EVENT_QUIC_FRAMES_H_INCLUDED_ */