summaryrefslogtreecommitdiff
path: root/ot_http.h
diff options
context:
space:
mode:
Diffstat (limited to 'ot_http.h')
-rw-r--r--ot_http.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/ot_http.h b/ot_http.h
index 003b545..1ccabfd 100644
--- a/ot_http.h
+++ b/ot_http.h
@@ -11,6 +11,7 @@
11#include <sys/uio.h> 11#include <sys/uio.h>
12 12
13#include "ot_batch.h" 13#include "ot_batch.h"
14#include "ot_event.h"
14#include "ot_buf.h" 15#include "ot_buf.h"
15#include "trackerlogic.h" 16#include "trackerlogic.h"
16 17
@@ -20,16 +21,22 @@ typedef enum {
20 STRUCT_HTTP_FLAG_BZIP2 = 4, 21 STRUCT_HTTP_FLAG_BZIP2 = 4,
21 STRUCT_HTTP_FLAG_ZSTD = 8, 22 STRUCT_HTTP_FLAG_ZSTD = 8,
22 STRUCT_HTTP_FLAG_CHUNKED = 16, 23 STRUCT_HTTP_FLAG_CHUNKED = 16,
23 STRUCT_HTTP_FLAG_CHUNKED_IN_TRANSFER = 32 24 STRUCT_HTTP_FLAG_CHUNKED_IN_TRANSFER = 32,
25 STRUCT_HTTP_FLAG_KEEPALIVE = 64
24} STRUCT_HTTP_FLAG; 26} STRUCT_HTTP_FLAG;
25 27
26struct http_data { 28struct http_data {
27 ot_buf request; 29 ot_buf request;
30 int interest; /* EVENT_IN and EVENT_OUT as asked for */
28 ot_batch *batch; 31 ot_batch *batch;
29 ot_ip6 ip; 32 ot_ip6 ip;
30 STRUCT_HTTP_FLAG flag; 33 STRUCT_HTTP_FLAG flag;
31}; 34};
32 35
36/* Add to or drop from what this connection is waiting to be told about */
37void http_interest_add(const int64_t s, struct http_data *cookie, int what);
38void http_interest_drop(const int64_t s, struct http_data *cookie, int what);
39
33ssize_t http_handle_request(const int64_t s, struct ot_workstruct *ws); 40ssize_t http_handle_request(const int64_t s, struct ot_workstruct *ws);
34ssize_t http_sendiovecdata(const int64_t s, struct ot_workstruct *ws, size_t iovec_entries, struct iovec *iovector, int is_partial); 41ssize_t http_sendiovecdata(const int64_t s, struct ot_workstruct *ws, size_t iovec_entries, struct iovec *iovector, int is_partial);
35ssize_t http_issue_error(const int64_t s, struct ot_workstruct *ws, int code); 42ssize_t http_issue_error(const int64_t s, struct ot_workstruct *ws, int code);