-
This saves some allocations. This also meant having to set the C++ standard to 2014. The getCopy() methods of sessions and mqttpackets can't be changed, because of access errors (private).
-
Because that's what's it is now. A lot of code can be refactored to get the settings from this now, but I'm not going to do that yet.
-
I don't know what is a good value. I'm upping it, together with (the possibility of increasing) net.core.somaxconn and net.ipv4.tcp_max_syn_backlog. The listen backlog is truncated to somaxconn, to having a high value makes sense. It seems to fix the kernel TCP SYN flooding warnings, if also disabling SYN cookies.
-
This mutes all INFO and NOTICE. Also fixed the parsing of the log_subscriptions.
-
The file IO is blocking, so we don't want that in our thread loops.
-
This avoids changing which thread runs the code. Also let auth_plugin_serialize_init affect cleanup serialization.
-
It was a mistake that it ran inside the timer thread, which came to light by asserting the thread local authentication pointer (see a few commits ago).
-
There were bugs in which authentication object was used when, causing threadings bugs. Instead of getting from the 'sender', we can just store a thread local pointer.
-
Files are simple serialized bytes prefaced by lengths. File is hashed to verify integrity. This was also a good way preventing unexpected errors when trying to crash the parser by having it load a different file. This change includes some refactoring that was necessary: - It 'fixes' looking at the wrong thread's authentiction. This is still wrong though. It will be fixed by a thread local pointer in the next commit. - Deadlocks with yourself are handled in rwlockguard. - QoSPacketQueue is now a class. - Probably other tweaks.
-
This performs a whole lot better.
-
Also include a few stats.
-
Encrypted version only.
-
My IDE didn't understand them for finding symbols, apparently.