mirror of
https://gitea.invidious.io/iv-org/litespeed-quic.git
synced 2024-08-15 00:53:43 +00:00
3b55e6ae0a
Add ability to create custom header set objects via callbacks. This avoids reading and re-parsing headers from the stream. See test/http_client.c for example implementation. (Use -B flag to turn it on).
35 lines
877 B
C
35 lines
877 B
C
/* Copyright (c) 2017 - 2018 LiteSpeed Technologies Inc. See LICENSE. */
|
|
#include <assert.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#include "lsquic.h"
|
|
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
struct lsquic_engine_settings settings;
|
|
lsquic_engine_t *engine;
|
|
unsigned versions;
|
|
const unsigned flags = LSENG_SERVER;
|
|
|
|
lsquic_engine_init_settings(&settings, flags);
|
|
|
|
struct lsquic_engine_api api;
|
|
memset(&api, 0, sizeof(api));
|
|
api.ea_settings = &settings;
|
|
api.ea_packets_out = (void *) (uintptr_t) 1;
|
|
|
|
engine = lsquic_engine_new(flags, &api);
|
|
assert(engine);
|
|
versions = lsquic_engine_quic_versions(engine);
|
|
assert(versions == settings.es_versions);
|
|
lsquic_engine_destroy(engine);
|
|
|
|
settings.es_versions |= (1 << N_LSQVER /* Invalid value by definition */);
|
|
engine = lsquic_engine_new(flags, &api);
|
|
assert(!engine);
|
|
|
|
return 0;
|
|
}
|