| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Many of these fall into a few categories:
- util.cache size, must be >= 1
- byte or item counts that logically can't be negative
- port numbers that should be in 1..0xffff
|
|
|
|
| |
Improves readability ("1 day" vs 86400) and centralizes validation.
|
|\ |
|
| |
| |
| |
| | |
This timer shouldn't kick in in the middle of active mode.
|
| |
| |
| |
| |
| |
| | |
It should not be there afterwards. Noticed that it seems to fire some
time after resumption claiming that the queue size is nil, implying
that it may hold a reference to an expired session somehow.
|
| | |
|
|/
|
|
| |
Because interesting, gives some idea about the efficiency.
|
| |
|
|
|
|
|
|
| |
Both in the flushing and active states the right thing to do is skip
directly to returning the data. Also in any unknown state, like if the
filter is somehow left behind on module unload.
|
|
|
|
|
| |
Cuts down on log and measurement noise. We only want to do these things
here when initiating a flush.
|
|
|
|
|
|
|
|
|
|
| |
Statistics from my server shows a high rate of very short buffer hold
times, most of which are the result of replies to pings or other iq
traffic, or mod_smacks acks and ack requests just after a flush was
completed.
This grace period should eliminate noise and quick flipping between
flushing and inactive mode.
|
|
|
|
| |
Just adds noise
|
|
|
|
| |
So that the same things happen as when triggered by an outgoing stanza
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
This won't include behavior provided by extra modules tho.
|
|
|
|
|
| |
To let other plugins know and take some action, e.g. flushing other
buffers or whatnot.
|
|
|
|
| |
May be useful for 3rd party modules.
|
|
|
|
| |
It went back to Deferred
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Telnet command `stats:show("buffer_hold"):histogram()` looks nice!
|
|
|
|
| |
It now matches other the other source of flush reason logging.
|
|
|
|
| |
For symmetry.
|
|
|
|
| |
Otherwise it might not start from zero when enabled again.
|
|
|
|
|
|
| |
Forgot to unset the flag afterwards, so it would only work once.
The flag is not even needed, it works as intended without it.
|
|
|
|
| |
Autocomplete fail probably.
|
|
|
|
|
|
| |
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.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Improves experience with VoIP calls initiated via JMI
Closes #1548
|
| | |
|
| |
| |
| |
| | |
Should improve quality of debug logs
|
| |
| |
| |
| |
| |
| | |
Same style as mod_mam and mod_carbons allows easy comparison.
BC: Log format changes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Should be more obvious that all iq stanzas are considered important.
Changes behavior for invalid things in the default namespace.
|
| | |
|
| |
| |
| |
| |
| | |
This case was previously handled by fall-trough at the end of the
function.
|
| |
| |
| |
| | |
This was already the case for presence and iq stanzas but not messages.
|
| |
| |
| |
| |
| | |
Both mediated invites defined by XEP-0045: Multi-User Chat and direct
invites defined by XEP-0249: Direct MUC Invitations
|
| | |
|
| |
| |
| |
| | |
pep.)
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Reduces log noice
|