src/http/v3/ngx_http_v3_table.h - nginx source code

Data types defined

Macros defined

Source code


  1. /*
  2. * Copyright (C) Roman Arutyunyan
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #ifndef _NGX_HTTP_V3_TABLE_H_INCLUDED_
  6. #define _NGX_HTTP_V3_TABLE_H_INCLUDED_


  7. #include <ngx_config.h>
  8. #include <ngx_core.h>
  9. #include <ngx_http.h>


  10. typedef struct {
  11.     ngx_str_t                     name;
  12.     ngx_str_t                     value;
  13. } ngx_http_v3_field_t;


  14. typedef struct {
  15.     ngx_http_v3_field_t         **elts;
  16.     ngx_uint_t                    nelts;
  17.     ngx_uint_t                    base;
  18.     size_t                        size;
  19.     size_t                        capacity;
  20.     uint64_t                      insert_count;
  21.     uint64_t                      ack_insert_count;
  22.     ngx_event_t                   send_insert_count;
  23. } ngx_http_v3_dynamic_table_t;


  24. void ngx_http_v3_inc_insert_count_handler(ngx_event_t *ev);
  25. void ngx_http_v3_cleanup_table(ngx_http_v3_session_t *h3c);
  26. ngx_int_t ngx_http_v3_ref_insert(ngx_connection_t *c, ngx_uint_t dynamic,
  27.     ngx_uint_t index, ngx_str_t *value);
  28. ngx_int_t ngx_http_v3_insert(ngx_connection_t *c, ngx_str_t *name,
  29.     ngx_str_t *value);
  30. ngx_int_t ngx_http_v3_set_capacity(ngx_connection_t *c, ngx_uint_t capacity);
  31. ngx_int_t ngx_http_v3_duplicate(ngx_connection_t *c, ngx_uint_t index);
  32. ngx_int_t ngx_http_v3_ack_section(ngx_connection_t *c, ngx_uint_t stream_id);
  33. ngx_int_t ngx_http_v3_inc_insert_count(ngx_connection_t *c, ngx_uint_t inc);
  34. ngx_int_t ngx_http_v3_lookup_static(ngx_connection_t *c, ngx_uint_t index,
  35.     ngx_str_t *name, ngx_str_t *value);
  36. ngx_int_t ngx_http_v3_lookup(ngx_connection_t *c, ngx_uint_t index,
  37.     ngx_str_t *name, ngx_str_t *value);
  38. ngx_int_t ngx_http_v3_decode_insert_count(ngx_connection_t *c,
  39.     ngx_uint_t *insert_count);
  40. ngx_int_t ngx_http_v3_check_insert_count(ngx_connection_t *c,
  41.     ngx_uint_t insert_count);
  42. void ngx_http_v3_ack_insert_count(ngx_connection_t *c, uint64_t insert_count);
  43. ngx_int_t ngx_http_v3_set_param(ngx_connection_t *c, uint64_t id,
  44.     uint64_t value);


  45. #endif /* _NGX_HTTP_V3_TABLE_H_INCLUDED_ */