Software / code / prosody
Annotate
teal-src/util/ringbuffer.d.tl @ 12061:31a7e0ac6928
mod_smacks: Skip hibernation logic if session was closed or replaced
The resumption_token is removed when the session is closed via the
pre-session-close event, signaling that it cannot be resumed, and
therefore no hibernation timeout logic should be invoked.
Fixes that if a session somehow is replaced by a new one using the same
resource (which is the common behavior), the old session would still be
around until it times out at which point it sends `<presence
type="unavailable"/>` which would look as if it came from the new
session, ie appearing offline to everyone including MUCs.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 16 Dec 2021 22:59:51 +0100 |
| parent | 11578:dfc5d8f6788e |
| rev | line source |
|---|---|
|
11578
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local record lib |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 record ringbuffer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 find : function (ringbuffer, string) : integer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 discard : function (ringbuffer, integer) : boolean |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 read : function (ringbuffer, integer, boolean) : string |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 readuntil : function (ringbuffer, string) : string |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 write : function (ringbuffer, string) : integer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 size : function (ringbuffer) : integer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 length : function (ringbuffer) : integer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 sub : function (ringbuffer, integer, integer) : string |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 byte : function (ringbuffer, integer, integer) : integer... |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 free : function (ringbuffer) : integer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 end |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 new : function (integer) : ringbuffer |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 return lib |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
dfc5d8f6788e
teal: Add type spec for util.ringbuffer
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |