connectdisconnectinputclose- Callback methods
h2_frameh2_headersh2_data_startedh2_datah2_data_finished- Utility methods
Создает контекст соединения.
int connect(long id, parser_callbacks *callbacks, connection_context **p_context);
id- ID соединенияcallbacks- список коллбэковp_context- поинтер на переменную поинтера на контекст- TBD: Свойства соединения (endpoint'ы?)
return value- код ошибки
Сигнализирует о разрыве соединения одним из endpoint'ов.
int disconnect(connection_context *context, enum transfer_direction direction);
context- Контекст соединенияdirection- Направление (OUTилиIN)return value- код ошибки
Передает на обработку пакет данных, полученных от одного из endpoint'ов.
int input(connection_context *context, enum transfer_direction direction, char *buffer, int length);
context- Контекст соединенияdirection- Направление (OUTилиIN)buffer- Буфер с даннымиlength- Размер буфераreturn value- код ошибки
Освобождает ресурсы заданного соединения.
int close(connection_context *context);
id- ID соединенияreturn value- код ошибки
Сигнализирует о получении фрейма
void h2_frame(connection_context *context, unsigned int stream_id, enum h2_frame_type type,
struct frame_any frame);
context- контекст соединенияstream_id- идентификатор потокаtype- тип фреймаframe- структура фрейма
Сигнализирует о получении фрейма заголовков
void h2_headers(connection_context *context, unsigned int stream_id, struct frame_headers headers);
context- контекст соединенияstream_id- идентификатор потокаheaders- заголовки после распаковки
Сигнализирует о начале передачи данных в одном из stream'ов
void h2_data_started(connection_context *context, unsigned int stream_id);
context- контекст соединенияstream_id- идентификатор потока
Сигнализирует о получении фрейма с данными
void h2_data(connection_context *context, unsigned int stream_id, struct frame_data data);
context- контекст соединенияstream_id- идентификатор потокаdata- структура фрейма с данными
Сигнализирует о завершении получения данных в одном из stream'ов
void h2_data_finished(connection_context *context, unsigned int stream_id, rst_stream_flag rst_stream);
context- контекст соединенияstream_id- идентификатор потокаrst_stream- флаг конца потока
Сигнализирует о необходимости перейти на http/1.X.
int h2_downgrade(connection_context *context, enum http_proto version);
context- контекст соединенияversion- версияreturn value- код ошибки
Создание, клонирование, модифицирование структур библиотеки.