Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mod_csi_simple: Fire event when flushing due to client activity | Kim Alvefur | 2021-11-18 | 1 | -0/+2 |
| | | | | So that the same things happen as when triggered by an outgoing stanza | ||||
* | mod_csi_simple: Detach cleanly from sessions if unloaded while flushing | Kim Alvefur | 2021-11-16 | 1 | -1/+1 |
| | | | | | | Since it changes the state to "flushing" while doing just that. Attempting to remove the filters from a session that does not have them should be a safe noop. | ||||
* | mod_csi_simple: Only act in inactive mode to prevent infinite recursion | Kim Alvefur | 2021-11-16 | 1 | -0/+4 |
| | | | | | Definitely should not be firing an event that triggers like csi-flushing from which it may make sense to send things, which leads right back here | ||||
* | mod_csi_simple: Unlock writes after event, to allow things to be queued | Kim Alvefur | 2021-11-16 | 1 | -1/+1 |
| | | | | | | E.g. mod_smacks could queue an <r>, which would be more likely to be included in the same write and TCP segment as the previously buffered data, reducing syscalls and network packets needing to be sent. | ||||
* | mod_csi_simple: Provide custom set of timing buckets | Kim Alvefur | 2021-10-05 | 1 | -1/+2 |
| | | | | | | The default of 0.001..100.0 did not feel suitable here. This might be better. Longer is better and hold times less than a few seconds is generally undesirable. | ||||
* | mod_csi_simple: convert to use new metric interface for flush reasons | Jonas Schäfer | 2021-05-20 | 1 | -10/+7 |
| | |||||
* | mod_csi_simple: s/algoritm/algorithm/ [codespell] | Kim Alvefur | 2021-03-05 | 1 | -1/+1 |
| | |||||
* | mod_csi_simple: Add command to test importance algorithm on stream of stanzas | Kim Alvefur | 2021-02-23 | 1 | -0/+32 |
| | | | | This won't include behavior provided by extra modules tho. | ||||
* | mod_csi_simple: Fire event when flushing queue | Kim Alvefur | 2021-02-16 | 1 | -0/+1 |
| | | | | | To let other plugins know and take some action, e.g. flushing other buffers or whatnot. | ||||
* | mod_csi_simple: Set session state to 'flushing' while doing so | Kim Alvefur | 2021-02-16 | 1 | -1/+3 |
| | | | | May be useful for 3rd party modules. | ||||
* | mod_csi_simple,mod_carbons,mod_mam: Update comment about XEP-0353 | Kim Alvefur | 2021-01-08 | 1 | -1/+1 |
| | | | | It went back to Deferred | ||||
* | mod_csi_simple: Report whatever's not a stirng and not a stanza | Kim Alvefur | 2020-05-10 | 1 | -1/+2 |
| | | | | | | | | | | This is either dead code or actually a type error, but catching that should be the responsibility of the session.send function. This type check is left since everything after it assumes a stanza object. These last few commits aren't meant to change any behavior and it did mark things not stanzas as important, but those would have been mostly raw strings which are now specially handled. | ||||
* | mod_csi_simple: Report whitespace keepalives | Kim Alvefur | 2020-05-10 | 1 | -2/+3 |
| | | | | | | | Single space character is sent by mod_c2s when a session has been silent for some time. This should account for the vast majority of raw strings passing through here. If this is not the case then having stats to say otherwise will be interesting. | ||||
* | mod_csi_simple: Identify raw string data in logging and stats | Kim Alvefur | 2020-05-10 | 1 | -1/+3 |
| | |||||
* | mod_csi_simple: Collect stats on flush reasons | Kim Alvefur | 2020-05-09 | 1 | -0/+11 |
| | |||||
* | mod_csi_simple: Record stats of how long buffers are held | Kim Alvefur | 2020-05-09 | 1 | -0/+16 |
| | | | | Telnet command `stats:show("buffer_hold"):histogram()` looks nice! | ||||
* | mod_csi_simple: Change debug message of client-triggered flush for coherence | Kim Alvefur | 2020-05-09 | 1 | -1/+1 |
| | | | | It now matches other the other source of flush reason logging. | ||||
* | mod_csi_simple: Reset queue counter to zero when enabling | Kim Alvefur | 2020-05-09 | 1 | -0/+1 |
| | | | | For symmetry. | ||||
* | mod_csi_simple: Forget queue counter when disabling optimizations | Kim Alvefur | 2020-05-09 | 1 | -0/+1 |
| | | | | Otherwise it might not start from zero when enabled again. | ||||
* | mod_csi_simple: Fix flushing when client sent something | Kim Alvefur | 2020-05-09 | 1 | -5/+0 |
| | | | | | | Forgot to unset the flag afterwards, so it would only work once. The flag is not even needed, it works as intended without it. | ||||
* | mod_csi_simple: Fix treating presence errors as presence updates | Kim Alvefur | 2020-05-09 | 1 | -1/+1 |
| | | | | Autocomplete fail probably. | ||||
* | mod_csi_simple: Add comment highlighting that XEP-0353 is experimental | Kim Alvefur | 2020-05-09 | 1 | -0/+1 |
| | | | | | | To make it easier to find implemented Experimental XEPs later. Also at the time of this commit it has been Proposed as mentinoed in the comment but hopefully that will be resolved soon. | ||||
* | mod_csi_simple: Fix unintentional order of rules from merge | Kim Alvefur | 2020-05-09 | 1 | -3/+3 |
| | |||||
* | Merge 0.11->trunk | Kim Alvefur | 2020-05-09 | 1 | -0/+3 |
|\ | |||||
| * | mod_csi_simple: Consider XEP-0353: Jingle Message Initiation important | Kim Alvefur | 2020-05-08 | 1 | -0/+3 |
| | | | | | | | | | | | | Improves experience with VoIP calls initiated via JMI Closes #1548 | ||||
* | | mod_csi_simple: Log reasons for not flushing | Kim Alvefur | 2020-05-07 | 1 | -0/+1 |
| | | |||||
* | | mod_csi_simple: Add short reasons to report | Kim Alvefur | 2020-05-07 | 1 | -10/+14 |
| | | | | | | | | Should improve quality of debug logs | ||||
* | | mod_csi_simple: Refactor to allow logging reason for buffer flush | Kim Alvefur | 2020-05-07 | 1 | -7/+19 |
| | | | | | | | | | | | | Same style as mod_mam and mod_carbons allows easy comparison. BC: Log format changes | ||||
* | | mod_csi_simple: Don't consider presence errors as important | Kim Alvefur | 2020-05-05 | 1 | -4/+5 |
| | | | | | | | | | | | | | | | | | | | | A large share of `<presence type=error>` appears to be noise from large public channels and failed presence probes. The later at least should count as presence updates, which are currently considered unimportant. See also 8cecb85e4bc4 which is partly reverted here. The intent there was probably mostly about message (delivery) errors, which should be considered important. | ||||
* | | mod_csi_simple: Explicitly mention iq stanzas | Kim Alvefur | 2020-04-26 | 1 | -1/+2 |
| | | | | | | | | | | Should be more obvious that all iq stanzas are considered important. Changes behavior for invalid things in the default namespace. | ||||
* | | mod_csi_simple: Clarify what might not be stanzas here | Kim Alvefur | 2020-04-26 | 1 | -0/+1 |
| | | |||||
* | | mod_csi_simple: Consider nonzas important | Kim Alvefur | 2020-04-26 | 1 | -0/+4 |
| | | | | | | | | | | This case was previously handled by fall-trough at the end of the function. | ||||
* | | mod_csi_simple: Explicitly consider errors important | Kim Alvefur | 2020-04-26 | 1 | -0/+3 |
| | | | | | | | | This was already the case for presence and iq stanzas but not messages. | ||||
* | | mod_csi_simple: Consider MUC invites important | Kim Alvefur | 2020-04-18 | 1 | -0/+3 |
| | | | | | | | | | | Both mediated invites defined by XEP-0045: Multi-User Chat and direct invites defined by XEP-0249: Direct MUC Invitations | ||||
* | | mod_csi_simple: Allow configuring extra tags indicating importance | Kim Alvefur | 2020-04-18 | 1 | -1/+8 |
| | | |||||
* | | mod_csi_simple: Make sure to disable optimizations before mod_smacks (thanks ↵ | Kim Alvefur | 2019-11-17 | 1 | -1/+1 |
| | | | | | | | | pep.) | ||||
* | | mod_csi_simple: Always remove session filters when disabling CSI | Kim Alvefur | 2019-10-05 | 1 | -3/+3 |
| | | | | | | | | | | | | Only guard the actual pausing of outgoing data on the method existing. This prevents the filters from lingering in case something happened to the connection. Removing already removed filters should be a safe noop. | ||||
* | | mod_csi_simple: Try not to flush buffer while already flushing it | Kim Alvefur | 2019-10-05 | 1 | -0/+5 |
| | | | | | | | | Reduces log noice | ||||
* | | mod_csi_simple: Remove duplicated check for connection | Kim Alvefur | 2019-09-28 | 1 | -3/+3 |
| | | |||||
* | | mod_csi_simple: Disable optimizations on disconnect (fixes #1358) | Kim Alvefur | 2019-05-26 | 1 | -0/+4 |
| | | | | | | | | | | The connection becomes invalid here, regardless of 3rd party modules that might keep the session alive. | ||||
* | | mod_csi_simple: Include queue size in debug messages | Kim Alvefur | 2019-03-25 | 1 | -5/+5 |
| | | |||||
* | | mod_csi_simple: Fix type in function name | Matthew Wild | 2019-03-25 | 1 | -4/+3 |
| | | |||||
* | | mod_csi_simple: Improve debug logs by mentioing why the buffer gets flushed | Kim Alvefur | 2019-03-24 | 1 | -1/+5 |
| | | |||||
* | | mod_csi_simple: Add some debug logging | Kim Alvefur | 2019-03-24 | 1 | -0/+2 |
| | | |||||
* | | mod_csi_simple: Disable optimizations on unload and re-enable on load | Kim Alvefur | 2019-03-24 | 1 | -0/+21 |
| | | |||||
* | | mod_csi_simple: Separate out functions to enable/disable optimizations | Kim Alvefur | 2019-03-24 | 1 | -5/+13 |
| | | | | | | | | | | This allows reusing this logic outside the events. Letting the functions be module globals makes it easier to access from eg the telnet console. | ||||
* | | mod_csi_simple: Remove old "pump" queue/buffer method, handled in net.server now | Kim Alvefur | 2019-03-24 | 1 | -61/+2 |
| | | |||||
* | | mod_csi_simple: Also flush buffer in "pump" mode | Kim Alvefur | 2019-03-24 | 1 | -0/+7 |
| | | |||||
* | | mod_csi_simple: Trigger buffer flush on seeing incoming data | Kim Alvefur | 2019-03-24 | 1 | -0/+7 |
| | | | | | | | | | | I.e. the client sent us something, which means its network / radio is active. | ||||
* | | mod_csi_simple: Count buffered items and flush when it reaches configured limit | Kim Alvefur | 2019-03-24 | 1 | -0/+22 |
| | | | | | | | | | | In this mode, stanzas have been serialized to strings in the internal net.server buffer, so it is difficult to count them after the fact. |