ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
http3.h
Go to the documentation of this file.
1#pragma once
2
5#include <nghttp3/nghttp3.h>
6#include <stdbool.h>
7#include <stdint.h>
8
9/* Serialized HTTP/3 CONNECT session. The QUIC owner supplies three local
10 * unidirectional stream IDs and retains vectors until they are acknowledged. */
12
13asciichat_error_t http_server_http3_create(const char *origin, const char *path, int64_t control_stream,
14 int64_t encoder_stream, int64_t decoder_stream, http_server_t *http_server,
15 const char *peer_address, http_server_http3_t **out);
16asciichat_error_t http_server_http3_read(http_server_http3_t *server, int64_t stream_id, const uint8_t *data,
17 size_t length, bool fin, uint64_t now_ns, size_t *consumed);
18/* Vectors remain owned by the codec until acknowledged. The caller must call
19 * wrote() with exactly the bytes accepted before the next write(). */
20asciichat_error_t http_server_http3_write(http_server_http3_t *server, int64_t *stream_id, bool *fin,
21 nghttp3_vec *vectors, size_t capacity, size_t *count);
22asciichat_error_t http_server_http3_wrote(http_server_http3_t *server, int64_t stream_id, size_t length);
Synchronized per-thread pending error stacks and value snapshots. SET_ERRNO pushes,...
unsigned long long uint64_t
Definition common.h:63
unsigned char uint8_t
Definition common.h:60
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
bool http_server_http3_accepted(const http_server_http3_t *server, int64_t *session_id)
Definition http3.c:549
asciichat_error_t http_server_http3_write(http_server_http3_t *server, int64_t *stream_id, bool *fin, nghttp3_vec *vectors, size_t capacity, size_t *count)
Definition http3.c:472
struct http_server_http3 http_server_http3_t
Definition http3.h:11
void http_server_http3_destroy(http_server_http3_t **server)
Definition http3.c:557
asciichat_error_t http_server_http3_read(http_server_http3_t *server, int64_t stream_id, const uint8_t *data, size_t length, bool fin, uint64_t now_ns, size_t *consumed)
Definition http3.c:460
asciichat_error_t http_server_http3_wrote(http_server_http3_t *server, int64_t stream_id, size_t length)
Definition http3.c:520
asciichat_error_t http_server_http3_ack(http_server_http3_t *server, int64_t stream_id, uint64_t length)
Definition http3.c:535
asciichat_error_t http_server_http3_create(const char *origin, const char *path, int64_t control_stream, int64_t encoder_stream, int64_t decoder_stream, http_server_t *http_server, const char *peer_address, http_server_http3_t **out)
Definition http3.c:406
Backend-neutral HTTP request/response contract.
static bool size_t gotel_query_t * out
Definition queries.h:8
uint8_t session_id[SESSION_ID_SIZE]
For acip http3 server, this is the live record that ties http, control, request, settings_length toge...
Definition http3.c:21
char origin[512U]
Definition http3.c:24
char peer_address[64]
Definition http3.c:33
char path[512U]
Definition http3.c:24
struct http_server http_server_t
Definition tls.h:8