Software /
code /
prosody
Annotate
teal-src/util/queue.d.tl @ 12739:0dc80024fdd2
Backed out changeset 1bc2220cd6ec
The use of the error helpers creates an `<error/>` child element
containing the error condition. This is however not allowed as per
XEP-0198, which specifies that the error condition is to be a direct
child of the `<failed/>` stream management element.
This has triggered a fun reconnect loop in aioxmpp where it was
reported by a user [1].
[1]: https://github.com/horazont/aioxmpp/issues/382
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Mon, 03 Oct 2022 12:55:11 +0200 |
parent | 12622:ef59fb975d3e |
rev | line source |
---|---|
12622
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local record lib |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 record queue<T> |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 size : integer |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 count : function (queue<T>) : integer |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 enum push_errors |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 "queue full" |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 end |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 push : function (queue<T>, T) : boolean, push_errors |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 pop : function (queue<T>) : T |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 peek : function (queue<T>) : T |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 replace : function (queue<T>, T) : boolean, push_errors |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 type iterator = function (T, integer) : integer, T |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 items : function (queue<T>) : iterator, T, integer |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 type consume_iter = function (queue<T>) : T |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 consume : function (queue<T>) : consume_iter |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 new : function<T> (size:integer, allow_wrapping:boolean) : queue<T> |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 end |
ef59fb975d3e
util.queue: Add Teal interface description
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 return lib; |