Skip to content

quic_api

More...

#include <quic_types.h>

Public Attributes

Name
quic_caps caps
quic_engine ()(const quic_config *cfg, char *err, size_t errlen) create
void(*)(quic_engine *engine) destroy
int(*)(quic_engine *engine) pump
void(*)(quic_engine *engine, int *want_read, int *want_write, int *timeout_ms) want
quic_conn ()(quic_engine *engine) accept_conn
int(*)(quic_engine *engine, quic_conn *conn, struct sockaddr_storage *addr, socklen_t *addr_len) peer_addr
const char ()(quic_engine *engine) last_error
struct quic_api engine
int(*)(quic_conn *conn, uint32_t idle_timeout_secs) prepare
void(*)(quic_conn *conn, void *user) set_user
quic_stream ()(quic_conn *conn, int64_t *out_id) open_uni_stream
quic_stream ()(quic_conn *conn) accept_stream
int(*)(quic_conn *conn) is_handshake_done
int(*)(quic_conn *conn) is_closed
int(*)(quic_conn *conn, int is_rapid, uint64_t app_error, const char *reason) shutdown
void(*)(quic_conn *conn) free
struct quic_api conn
int64_t(*)(quic_stream *st) id
quic_write_result(*)(quic_stream *st, const quic_vec *vec, size_t nvec, int fin) write
int(*)(quic_stream *st) is_write_blocked
int(*)(quic_stream *st, unsigned char *buf, size_t read_size, size_t *nread, int *fin) read
void(*)(quic_stream *st, int *read_finished, int *write_finished) is_read_finished
void(*)(quic_stream *st, uint64_t err) stop_sending
void(*)(quic_stream *st, uint64_t err) reset
void(*)(quic_stream *st, size_t nbytes) consumed
struct quic_api stream

Detailed Description

struct quic_api;

Everything one engine provides, in one table.

Public Attributes Documentation

variable caps

quic_caps caps;

variable create

quic_engine *(*)(const quic_config *cfg, char *err, size_t errlen) create;

variable destroy

void(*)(quic_engine *engine) destroy;

variable pump

int(*)(quic_engine *engine) pump;

variable want

void(*)(quic_engine *engine, int *want_read, int *want_write, int *timeout_ms) want;

variable accept_conn

quic_conn *(*)(quic_engine *engine) accept_conn;

variable peer_addr

int(*)(quic_engine *engine, quic_conn *conn, struct sockaddr_storage *addr, socklen_t *addr_len) peer_addr;

variable last_error

const char *(*)(quic_engine *engine) last_error;

variable engine

struct quic_api engine;

variable prepare

int(*)(quic_conn *conn, uint32_t idle_timeout_secs) prepare;

variable set_user

void(*)(quic_conn *conn, void *user) set_user;

variable open_uni_stream

quic_stream *(*)(quic_conn *conn, int64_t *out_id) open_uni_stream;

variable accept_stream

quic_stream *(*)(quic_conn *conn) accept_stream;

variable is_handshake_done

int(*)(quic_conn *conn) is_handshake_done;

variable is_closed

int(*)(quic_conn *conn) is_closed;

variable shutdown

int(*)(quic_conn *conn, int is_rapid, uint64_t app_error, const char *reason) shutdown;

variable free

void(*)(quic_conn *conn) free;

variable conn

struct quic_api conn;

variable id

int64_t(*)(quic_stream *st) id;

variable write

quic_write_result(*)(quic_stream *st, const quic_vec *vec, size_t nvec, int fin) write;

variable is_write_blocked

int(*)(quic_stream *st) is_write_blocked;

variable read

int(*)(quic_stream *st, unsigned char *buf, size_t read_size, size_t *nread, int *fin) read;

variable is_read_finished

void(*)(quic_stream *st, int *read_finished, int *write_finished) is_read_finished;

variable stop_sending

void(*)(quic_stream *st, uint64_t err) stop_sending;

variable reset

void(*)(quic_stream *st, uint64_t err) reset;

variable consumed

void(*)(quic_stream *st, size_t nbytes) consumed;

variable stream

struct quic_api stream;