summaryrefslogtreecommitdiff
path: root/ot_http.h
diff options
context:
space:
mode:
Diffstat (limited to 'ot_http.h')
-rw-r--r--ot_http.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/ot_http.h b/ot_http.h
index 0f351c1..9cacd21 100644
--- a/ot_http.h
+++ b/ot_http.h
@@ -22,7 +22,8 @@ typedef enum {
22 STRUCT_HTTP_FLAG_ZSTD = 8, 22 STRUCT_HTTP_FLAG_ZSTD = 8,
23 STRUCT_HTTP_FLAG_CHUNKED = 16, 23 STRUCT_HTTP_FLAG_CHUNKED = 16,
24 STRUCT_HTTP_FLAG_CHUNKED_IN_TRANSFER = 32, 24 STRUCT_HTTP_FLAG_CHUNKED_IN_TRANSFER = 32,
25 STRUCT_HTTP_FLAG_KEEPALIVE = 64 25 STRUCT_HTTP_FLAG_KEEPALIVE = 64,
26 STRUCT_HTTP_FLAG_ONSTACK = 128
26} STRUCT_HTTP_FLAG; 27} STRUCT_HTTP_FLAG;
27 28
28struct http_data { 29struct http_data {
@@ -33,13 +34,17 @@ struct http_data {
33 STRUCT_HTTP_FLAG flag; 34 STRUCT_HTTP_FLAG flag;
34}; 35};
35 36
36/* Add to or drop from what this connection is waiting to be told about */ 37/* What this connection is waiting for: EVENT_IN, EVENT_OUT, or nothing */
37void http_interest_add(const int64_t s, struct http_data *cookie, int what); 38void http_interest_set(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 39
40/* Close a connection and release everything that belongs to it */ 40/* Close a connection and release everything that belongs to it */
41void http_close(const int64_t s); 41void http_close(const int64_t s);
42 42
43/* Promote a stack cookie to a heap one, for persistence and for handing it
44 over to the event loop or to another thread. Does nothing to one that is
45 already on the heap. Returns the connection's state, or NULL. */
46struct http_data *http_adopt(const int64_t s);
47
43ssize_t http_handle_request(const int64_t s, struct ot_workstruct *ws); 48ssize_t http_handle_request(const int64_t s, struct ot_workstruct *ws);
44ssize_t http_sendiovecdata(const int64_t s, struct ot_workstruct *ws, size_t iovec_entries, struct iovec *iovector, int is_partial); 49ssize_t http_sendiovecdata(const int64_t s, struct ot_workstruct *ws, size_t iovec_entries, struct iovec *iovector, int is_partial);
45ssize_t http_issue_error(const int64_t s, struct ot_workstruct *ws, int code); 50ssize_t http_issue_error(const int64_t s, struct ot_workstruct *ws, int code);