Software /
code /
prosody
Annotate
teal-src/module.d.tl @ 12074:b892f5489d79
mod_smacks: Check if session was really sleeping before logging message
It could have been resumed without going into hibernation first, i.e.
when the client notices the disconnect before the server, or if it
switches networks etc.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 18 Dec 2021 15:45:06 +0100 |
parent | 11941:cfd37453e6b6 |
child | 12502:5862ddf71e3c |
rev | line source |
---|---|
11941
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local st = require"util.stanza" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 global record moduleapi |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 get_name : function (moduleapi) : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 get_host : function (moduleapi) : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 enum host_type |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 "global" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 "local" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 "component" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 get_host_type : function (moduleapi) : host_type |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 set_global : function (moduleapi) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 add_feature : function (moduleapi, string) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 add_identity : function (moduleapi, string, string, string) -- TODO enum? |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 add_extension : function (moduleapi, st.stanza_t) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 fire_event : function (moduleapi, string, any) : any |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 type handler = function (any) : any |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 record util_events |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 -- TODO import def |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 hook_object_event : function (moduleapi, util_events, string, handler, number) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 unhook_object_event : function (moduleapi, util_events, string, handler) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 hook : function (moduleapi, string, handler, number) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 hook_global : function (moduleapi, string, handler, number) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 hook_tag : function (moduleapi, string, string, handler, number) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 unhook : function (moduleapi, string, handler) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 wrap_object_event : function (moduleapi, util_events, string, handler) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 wrap_event : function (moduleapi, string, handler) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 wrap_global : function (moduleapi, string, handler) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 require : function (moduleapi, string) : table |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 depends : function (moduleapi, string) : table |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 shared : function (moduleapi, string) : table |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 type config_getter = function<A> (moduleapi, string, A) : A |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 get_option : config_getter<any> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 get_option_scalar : config_getter<nil | boolean | number | string> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 get_option_string : config_getter<string> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 get_option_number : config_getter<number> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 get_option_boolean : config_getter<boolean> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 record util_array |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 -- TODO import def |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 { any } |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
42 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 get_option_array : config_getter<util_array> |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 record util_set |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 -- TODO import def |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 _items : { any : boolean } |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 get_option_set : function (moduleapi, string, { any }) : util_set |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
49 get_option_inherited_set : function (moduleapi, string, { any }) : util_set |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
50 get_option_path : function (moduleapi, string, string, string) : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
51 context : function (moduleapi, string) : moduleapi |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
52 add_item : function (moduleapi, string, any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
53 remove_item : function (moduleapi, string, any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
54 get_host_items : function (moduleapi, string) : { any } |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
55 handle_items : function (moduleapi, string, handler, handler, boolean) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
56 provides : function (moduleapi, string, table) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
57 record util_session |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
58 -- TODO import def |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
59 send : function ( st.stanza_t | string ) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
60 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
61 send : function (moduleapi, st.stanza_t, util_session) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
62 send_iq : function (moduleapi, st.stanza_t, util_session, number) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 broadcast : function (moduleapi, { string }, st.stanza_t, function) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 type timer_callback = function (number, ... : any) : number |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 add_timer : function (moduleapi, number, timer_callback, ... : any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
66 get_directory : function (moduleapi) : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
67 enum file_mode |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
68 "r" "w" "a" "r+" "w+" "a+" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
69 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
70 load_resource : function (moduleapi, string, file_mode) : FILE |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
71 enum store_type |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
72 "keyval" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
73 "map" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
74 "archive" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
75 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
76 open_store : function (moduleapi, string, store_type) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
77 enum stat_type |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
78 "amount" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
79 "counter" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
80 "rate" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
81 "distribution" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
82 "sizes" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
83 "times" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
84 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
85 record stats_conf |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
86 initial : number |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
87 units : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
88 type : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
89 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
90 measure : function (moduleapi, string, stat_type, stats_conf) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
91 measure_object_event : function (moduleapi, util_events, string, string) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
92 measure_event : function (moduleapi, string, string) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
93 measure_global_event : function (moduleapi, string, string) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
94 enum status_type |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
95 "error" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
96 "warn" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
97 "info" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
98 "core" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
99 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
100 set_status : function (moduleapi, status_type, string, boolean) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
101 enum log_level |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
102 "debug" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
103 "info" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
104 "warn" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
105 "error" |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
106 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
107 log_status : function (moduleapi, log_level, string, ... : any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
108 get_status : function (moduleapi) : status_type, string, number |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
109 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
110 -- added by modulemanager |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
111 name : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
112 host : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
113 _log : function (log_level, string, ... : any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
114 log : function (moduleapi, log_level, string, ... : any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
115 reloading : boolean |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
116 saved_state : any |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
117 record module_environment |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
118 module : moduleapi |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
119 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
120 environment : module_environment |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
121 path : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
122 resource_path : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
123 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
124 -- methods the module can add |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
125 load : function () |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
126 add_host : function (moduleapi) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
127 save : function () : any |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
128 restore : function (any) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
129 unload : function () |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
130 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
131 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
132 global module : moduleapi |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
133 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
134 global record common_event |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
135 stanza : st.stanza_t |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
136 record origin |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
137 send : function (st.stanza_t) |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
138 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
139 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
140 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
141 global record prosody |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
142 version : string |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
143 end |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
144 |
cfd37453e6b6
teal: Describe the module API interface
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
145 return module |