diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-03-29 11:37:29 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-03-29 11:37:29 -0400 |
commit | 6217967a353bc9d97ae45c2af495b653a47e2481 (patch) | |
tree | bae33dd5ebd8393e6dd1b30f7d1a2b75241c9956 /include | |
parent | 213564f740d896c9a8bd86b5e2221d9434b126d3 (diff) |
Redo channels, making them single-client
Diffstat (limited to 'include')
-rw-r--r-- | include/types.h | 6 | ||||
-rw-r--r-- | include/urweb.h | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/include/types.h b/include/types.h index d1ed2fd2..ddbff76b 100644 --- a/include/types.h +++ b/include/types.h @@ -17,7 +17,11 @@ typedef struct uw_context *uw_context; typedef uw_Basis_string uw_Basis_xhtml; typedef uw_Basis_string uw_Basis_page; -typedef size_t uw_Basis_channel; + +typedef unsigned uw_Basis_client; +typedef struct { + unsigned cli, chn; +} uw_Basis_channel; typedef enum { SUCCESS, FATAL, BOUNDED_RETRY, UNLIMITED_RETRY } failure_kind; diff --git a/include/urweb.h b/include/urweb.h index 02a4da5b..a12952a4 100644 --- a/include/urweb.h +++ b/include/urweb.h @@ -8,7 +8,7 @@ extern uw_unit uw_unit_v; void uw_global_init(void); -void uw_client_connect(size_t id, int pass, int sock); +void uw_client_connect(unsigned id, int pass, int sock); void uw_prune_clients(time_t timeout); uw_context uw_init(size_t outHeaders_len, size_t script_len, size_t page_len, size_t heap_len); @@ -22,6 +22,7 @@ void uw_reset_keep_error_message(uw_context); failure_kind uw_begin_init(uw_context); void uw_set_headers(uw_context, char *headers); failure_kind uw_begin(uw_context, char *path); +void uw_login(uw_context); void uw_commit(uw_context); int uw_rollback(uw_context); @@ -55,7 +56,6 @@ char *uw_Basis_htmlifyFloat(uw_context, uw_Basis_float); char *uw_Basis_htmlifyString(uw_context, uw_Basis_string); char *uw_Basis_htmlifyBool(uw_context, uw_Basis_bool); char *uw_Basis_htmlifyTime(uw_context, uw_Basis_time); -char *uw_Basis_htmlifyChannel(uw_context, uw_Basis_channel); uw_unit uw_Basis_htmlifyInt_w(uw_context, uw_Basis_int); uw_unit uw_Basis_htmlifyFloat_w(uw_context, uw_Basis_float); @@ -66,7 +66,9 @@ uw_unit uw_Basis_htmlifyTime_w(uw_context, uw_Basis_time); char *uw_Basis_attrifyInt(uw_context, uw_Basis_int); char *uw_Basis_attrifyFloat(uw_context, uw_Basis_float); char *uw_Basis_attrifyString(uw_context, uw_Basis_string); +char *uw_Basis_attrifyTime(uw_context, uw_Basis_time); char *uw_Basis_attrifyChannel(uw_context, uw_Basis_channel); +char *uw_Basis_attrifyClient(uw_context, uw_Basis_client); uw_unit uw_Basis_attrifyInt_w(uw_context, uw_Basis_int); uw_unit uw_Basis_attrifyFloat_w(uw_context, uw_Basis_float); @@ -90,7 +92,6 @@ uw_Basis_float uw_Basis_unurlifyFloat(uw_context, char **); uw_Basis_string uw_Basis_unurlifyString(uw_context, char **); uw_Basis_bool uw_Basis_unurlifyBool(uw_context, char **); uw_Basis_time uw_Basis_unurlifyTime(uw_context, char **); -uw_Basis_channel uw_Basis_unurlifyChannel(uw_context, char **); uw_Basis_string uw_Basis_strcat(uw_context, const char *, const char *); uw_Basis_string uw_Basis_strdup(uw_context, const char *); @@ -102,6 +103,7 @@ uw_Basis_string uw_Basis_sqlifyString(uw_context, uw_Basis_string); uw_Basis_string uw_Basis_sqlifyBool(uw_context, uw_Basis_bool); uw_Basis_string uw_Basis_sqlifyTime(uw_context, uw_Basis_time); uw_Basis_string uw_Basis_sqlifyChannel(uw_context, uw_Basis_channel); +uw_Basis_string uw_Basis_sqlifyClient(uw_context, uw_Basis_client); uw_Basis_string uw_Basis_sqlifyIntN(uw_context, uw_Basis_int*); uw_Basis_string uw_Basis_sqlifyFloatN(uw_context, uw_Basis_float*); @@ -112,6 +114,7 @@ uw_Basis_string uw_Basis_sqlifyTimeN(uw_context, uw_Basis_time*); char *uw_Basis_ensqlBool(uw_Basis_bool); char *uw_Basis_jsifyString(uw_context, uw_Basis_string); +char *uw_Basis_jsifyChannel(uw_context, uw_Basis_channel); uw_Basis_string uw_Basis_intToString(uw_context, uw_Basis_int); uw_Basis_string uw_Basis_floatToString(uw_context, uw_Basis_float); @@ -122,13 +125,13 @@ uw_Basis_int *uw_Basis_stringToInt(uw_context, uw_Basis_string); uw_Basis_float *uw_Basis_stringToFloat(uw_context, uw_Basis_string); uw_Basis_bool *uw_Basis_stringToBool(uw_context, uw_Basis_string); uw_Basis_time *uw_Basis_stringToTime(uw_context, uw_Basis_string); -uw_Basis_channel *uw_Basis_stringToChannel(uw_context, uw_Basis_string); uw_Basis_int uw_Basis_stringToInt_error(uw_context, uw_Basis_string); uw_Basis_float uw_Basis_stringToFloat_error(uw_context, uw_Basis_string); uw_Basis_bool uw_Basis_stringToBool_error(uw_context, uw_Basis_string); uw_Basis_time uw_Basis_stringToTime_error(uw_context, uw_Basis_string); uw_Basis_channel uw_Basis_stringToChannel_error(uw_context, uw_Basis_string); +uw_Basis_client uw_Basis_stringToClient_error(uw_context, uw_Basis_string); uw_Basis_string uw_Basis_requestHeader(uw_context, uw_Basis_string); @@ -138,5 +141,6 @@ uw_Basis_string uw_Basis_get_cookie(uw_context, uw_Basis_string c); uw_unit uw_Basis_set_cookie(uw_context, uw_Basis_string prefix, uw_Basis_string c, uw_Basis_string v); uw_Basis_channel uw_Basis_new_channel(uw_context, uw_unit); -uw_unit uw_Basis_subscribe(uw_context, uw_Basis_channel); uw_unit uw_Basis_send(uw_context, uw_Basis_channel, uw_Basis_string); + +uw_Basis_client uw_Basis_self(uw_context, uw_unit); |