Mercurial > prosody-hg
annotate teal-src/util/queue.d.tl @ 12956:52fcdfe710ca
storagemanager: Add keyval+ (combined keyval + map) store type
This combines the two most common store types, which modules often end up
opening with both interfaces separately anyway.
As well as combining them, I've taken the opportunity to improve some of the
method names to make them clearer.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 27 Sep 2022 17:46:27 +0100 |
| parents | ef59fb975d3e |
| children |
| 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; |
