diff --git a/README.md b/README.md index 6076404338..ac00f974b6 100644 --- a/README.md +++ b/README.md @@ -299,7 +299,7 @@ Sending data to the client is done using the method `sendToPeer()`, which is als #include #include #include -#include +#include // #include #include @@ -310,15 +310,15 @@ public: private: void onConnected() override { // Called in case a connection has been established successfully. - VLOG(1) << "Echo connected to " << getSocketConnection()->getRemoteAddress().toString(); + snode::semantic::appLog().info() << "Echo connected to " << getSocketConnection()->getRemoteAddress().toString(); } void onDisconnected() override { // Called in case the connection has been closed. - VLOG(1) << "Echo disconnected from " << getSocketConnection()->getRemoteAddress().toString(); + snode::semantic::appLog().info() << "Echo disconnected from " << getSocketConnection()->getRemoteAddress().toString(); } bool onSignal(int signum) override { // Called in case a signal has been received - VLOG(1) << "Echo disconnected due to signal=" << signum; + snode::semantic::appLog().info() << "Echo disconnected due to signal=" << signum; return true; // Close the connection } @@ -333,7 +333,7 @@ private: // onReceivedFromPeer will be called again. // No error can occure here. if (chunkLen > 0) { - VLOG(1) << "Data to reflect: " << std::string(chunk, chunkLen); + snode::semantic::appLog().debug() << "Data to reflect: " << std::string(chunk, chunkLen); sendToPeer(chunk, chunkLen); // Reflect the received data back to the client. // Out of memory is the only error which can occure here. } @@ -353,7 +353,7 @@ And like in the `EchoServerContext`, `readFromPeer()` and `sendToPeer()` is used #include #include #include -#include +#include // #include #include @@ -364,18 +364,18 @@ public: private: void onConnected() override { // Called in case a connection has been established successfully. - VLOG(1) << "Echo connected to " << getSocketConnection()->getRemoteAddress().toString(); + snode::semantic::appLog().info() << "Echo connected to " << getSocketConnection()->getRemoteAddress().toString(); - VLOG(1) << "Initiating data exchange"; + snode::semantic::appLog().debug() << "Initiating data exchange"; sendToPeer("Hello peer! It's nice talking to you\n"); // Initiate the ping-pong data exchange. } void onDisconnected() override { // Called in case the connection has been closed. - VLOG(1) << "Echo disconnected from " << getSocketConnection()->getRemoteAddress().toString(); + snode::semantic::appLog().info() << "Echo disconnected from " << getSocketConnection()->getRemoteAddress().toString(); } bool onSignal(int signum) override { // Called in case a signal has been received - VLOG(1) << "Echo disconnected due to signal=" << signum; + snode::semantic::appLog().info() << "Echo disconnected due to signal=" << signum; return true; // Close the connection } @@ -390,7 +390,7 @@ private: // onReceivedFromPeer will be called again. // No error can occure here. if (chunkLen > 0) { - VLOG(1) << "Data to reflect: " << std::string(chunk, chunkLen); + snode::semantic::appLog().debug() << "Data to reflect: " << std::string(chunk, chunkLen); sendToPeer(chunk, chunkLen); // Reflect the received data back to the server. // Out of memory is the only error which can occure here. } @@ -429,6 +429,7 @@ Here we use IPv4 and the `listen()` method which expects a port number, here `80 ```cpp #include "EchoServerContextFactory.h" +#include #include #include // @@ -451,16 +452,16 @@ int main(int argc, char* argv[]) { echoServer.listen(8001, 5, [](const SocketAddress& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoServer: connected to '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoServer: connected to '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoServer: disabled"; + snode::semantic::appLog().info() << "EchoServer: disabled"; break; case core::socket::State::ERROR: - VLOG(1) << "EchoServer: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoServer: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - VLOG(1) << "EchoServer: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoServer: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -482,6 +483,7 @@ Here it is assumed that we talk to an IPv4 server which runs on the same machine ```cpp #include "EchoClientContextFactory.h" +#include #include #include // @@ -504,16 +506,16 @@ int main(int argc, char* argv[]) { echoClient.connect("localhost", 8001, [](const SocketAddress& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoClient: connected to '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoClient: connected to '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoClient: disabled"; + snode::semantic::appLog().info() << "EchoClient: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoClient: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoClient: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoClient: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoClient: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -1146,18 +1148,20 @@ As the name suggests this callback is executed after a connection to the peer ha For a concrete `SocketServer` instance (here an anonymous instance) the constructors expecting callbacks can be used like ```cpp +#include + using EchoServer = net::in::stream::legacy::SocketServer; using SocketAddress = EchoServer::SocketAddress; using SocketConnection = EchoServer::SocketConnection; EchoServer echoServer([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer estableshed"; + snode::semantic::appLog().debug() << "Connection to peer estableshed"; }, [] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer ready to be used"; + snode::semantic::appLog().debug() << "Connection to peer ready to be used"; }, [] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer closed"; + snode::semantic::appLog().debug() << "Connection to peer closed"; }); echoServer.listen(...); @@ -1166,18 +1170,20 @@ echoServer.listen(...); and for a concrete `SocketClient` class like ```cpp +#include + using EchoClient = net::in::stream::legacy::SocketServer; using SocketAddress = EchoClient::SocketAddress; using SocketConnection = EchoClient::SocketConnection; EchoClient echoClient([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer estableshed"; + snode::semantic::appLog().debug() << "Connection to peer estableshed"; }, [] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer ready to be used"; + snode::semantic::appLog().debug() << "Connection to peer ready to be used"; }, [] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer closed"; + snode::semantic::appLog().debug() << "Connection to peer closed"; }); echoClient.connect(...); @@ -1194,6 +1200,8 @@ In case `SocketServer` and `SocketClient` instances have been created using a co like for example ```cpp +#include + using EchoServer = net::in::stream::legacy::SocketServer; using SocketAddress = EchoServer::SocketAddress; using SocketConnection = EchoServer::SocketConnection; @@ -1201,15 +1209,15 @@ using SocketConnection = EchoServer::SocketConnection; EchoServer echoServer; echoServer.setOnConnect([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer established"; + snode::semantic::appLog().debug() << "Connection to peer established"; }); echoServer.setOnConnected([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer ready to be used"; + snode::semantic::appLog().debug() << "Connection to peer ready to be used"; }); echoServer.setOnDisconnected([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer closed"; + snode::semantic::appLog().debug() << "Connection to peer closed"; }); echoServer.listen(...); @@ -1218,6 +1226,8 @@ echoServer.listen(...); and ```cpp +#include + using EchoClient = net::in::stream::legacy::SocketServer; using SocketAddress = EchoClient::SocketAddress; using SocketConnection = EchoClient::SocketConnection; @@ -1225,15 +1235,15 @@ using SocketConnection = EchoClient::SocketConnection; EchoClient echoClient; echoClient.setOnConnect([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer established"; + snode::semantic::appLog().debug() << "Connection to peer established"; }); echoClient.setOnConnected([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer ready to be used"; + snode::semantic::appLog().debug() << "Connection to peer ready to be used"; }); echoClient.setOnDisconnected([] (SocketConnection* socketConnection) -> void { - VLOG(1) << "Connection to peer closed"; + snode::semantic::appLog().debug() << "Connection to peer closed"; }); echoClient.connect(...); @@ -2430,7 +2440,9 @@ For instance, if the echo server shall also communicate via e.g. Unix-Domain soc In that case the Main-Application would look like ```cpp - int main(int argc, char* argv[]) { +#include + +int main(int argc, char* argv[]) { core::SNodeC::init(argc, argv); using EchoServerIn = net::in::stream::legacy::SocketServer; @@ -2442,16 +2454,16 @@ In that case the Main-Application would look like const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoServerIn: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoServerIn: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoServerIn: disabled"; + snode::semantic::appLog().info() << "EchoServerIn: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoServerIn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoServerIn: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoServerIn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoServerIn: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2465,16 +2477,16 @@ In that case the Main-Application would look like const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoServerUn: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoServerUn: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoServerUn: disabled"; + snode::semantic::appLog().info() << "EchoServerUn: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoServerUn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoServerUn: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoServerUn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoServerUn: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2493,16 +2505,16 @@ In that case the Main-Application would look like const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoServerRc: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoServerRc: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoServerRc: disabled"; + snode::semantic::appLog().info() << "EchoServerRc: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoServerRc: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoServerRc: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoServerRc: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoServerRc: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2514,6 +2526,8 @@ In that case the Main-Application would look like and the client application with an additional Unix-Domain socket instance look like ```cpp +#include + int main(int argc, char* argv[]) { core::SNodeC::init(argc, argv); @@ -2528,16 +2542,16 @@ int main(int argc, char* argv[]) { const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoClientIn: connected to '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoClientIn: connected to '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoClientIn: disabled"; + snode::semantic::appLog().info() << "EchoClientIn: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoClientIn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoClientIn: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoClientIn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoClientIn: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2552,16 +2566,16 @@ int main(int argc, char* argv[]) { const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoClientUn: connected to '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoClientUn: connected to '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoClientUn: disabled"; + snode::semantic::appLog().info() << "EchoClientUn: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoClientUn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoClientUn: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoClientUn: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoClientUn: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2582,16 +2596,16 @@ int main(int argc, char* argv[]) { const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "EchoClientRc: connected to '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "EchoClientRc: connected to '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "EchoClientRc: disabled"; + snode::semantic::appLog().info() << "EchoClientRc: disabled"; break; case core::socket::State::ERROR: - LOG(ERROR) << "EchoClientRc: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().error() << "EchoClientRc: " << socketAddress.toString() << ": " << state.what(); break; case core::socket::State::FATAL: - LOG(FATAL) << "EchoClientRc: " << socketAddress.toString() << ": " << state.what(); + snode::semantic::appLog().critical() << "EchoClientRc: " << socketAddress.toString() << ": " << state.what(); break; } }); @@ -2642,7 +2656,7 @@ The use of X.509 certificates for encrypted communication is demonstrated also. #include #include #include -#include +#include #include int main(int argc, char* argv[]) { @@ -2662,23 +2676,23 @@ int main(int argc, char* argv[]) { configLegacyApp.required(legacyHtmlRoot); legacyApp.setOnConnected([legacyApp, legacyHtmlRoot](SocketConnection* socketConnection) -> void { // onConnect - LOG(INFO) << "OnConnected " << legacyApp.getConfig().getInstanceName(); + snode::semantic::appLog().info() << "OnConnected " << legacyApp.getConfig().getInstanceName(); legacyApp.use(express::middleware::StaticMiddleware(legacyHtmlRoot->as())); }); legacyApp.listen(8080, [](const SocketAddressRc& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "LegacyWebApp: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "LegacyWebApp: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "LegacyWebApp: disabled"; + snode::semantic::appLog().info() << "LegacyWebApp: disabled"; break; case core::socket::State::ERROR: - VLOG(1) << "LegacyWebApp: non critical error occurred"; + snode::semantic::appLog().warn() << "LegacyWebApp: non critical error occurred"; break; case core::socket::State::FATAL: - VLOG(1) << "LegacyWebApp: critical error occurred"; + snode::semantic::appLog().error() << "LegacyWebApp: critical error occurred"; break; } }); @@ -2695,7 +2709,7 @@ int main(int argc, char* argv[]) { configTlsApp.required(tlsHtmlRoot); tlsApp.setOnConnected([tlsApp, tlsHtmlRoot](SocketConnection* socketConnection) -> void { // onConnect - LOG(INFO) << "OnConnected " << tlsApp.getConfig().getInstanceName(); + snode::semantic::appLog().info() << "OnConnected " << tlsApp.getConfig().getInstanceName(); tlsApp.use(express::middleware::StaticMiddleware(tlsHtmlRoot->as())); }); @@ -2706,16 +2720,16 @@ int main(int argc, char* argv[]) { tlsApp.listen(8088, [](const SocketAddressRc& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "TLSWebApp: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "TLSWebApp: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "TLSWebApp: disabled"; + snode::semantic::appLog().info() << "TLSWebApp: disabled"; break; case core::socket::State::ERROR: - VLOG(1) << "TLSWebApp: non critical error occurred"; + snode::semantic::appLog().warn() << "TLSWebApp: non critical error occurred"; break; case core::socket::State::FATAL: - VLOG(1) << "TLSWebApp: critical error occurred"; + snode::semantic::appLog().error() << "TLSWebApp: critical error occurred"; break; } }); @@ -2731,7 +2745,7 @@ The high-level web API provides the methods `get()`, `post()`, `put()`, etc like ```cpp #include #include -#include +#include int main(int argc, char* argv[]) { express::WebApp::init(argc, argv); @@ -2792,16 +2806,16 @@ int main(int argc, char* argv[]) { legacyApp.listen(8080, [](const SocketAddressRc& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "LegacyWebApp: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "LegacyWebApp: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "LegacyWebApp: disabled"; + snode::semantic::appLog().info() << "LegacyWebApp: disabled"; break; case core::socket::State::ERROR: - VLOG(1) << "LegacyWebApp: non critical error occurred"; + snode::semantic::appLog().warn() << "LegacyWebApp: non critical error occurred"; break; case core::socket::State::FATAL: - VLOG(1) << "LegacyWebApp: critical error occurred"; + snode::semantic::appLog().error() << "LegacyWebApp: critical error occurred"; break; } }); @@ -2820,16 +2834,16 @@ int main(int argc, char* argv[]) { tlsApp.listen(8088, [](const SocketAddressRc& socketAddress, const core::socket::State& state) -> void { switch (state) { case core::socket::State::OK: - VLOG(1) << "TLSWebApp: listening on '" << socketAddress.toString() << "'"; + snode::semantic::appLog().info() << "TLSWebApp: listening on '" << socketAddress.toString() << "'"; break; case core::socket::State::DISABLED: - VLOG(1) << "TLSWebApp: disabled"; + snode::semantic::appLog().info() << "TLSWebApp: disabled"; break; case core::socket::State::ERROR: - VLOG(1) << "TLSWebApp: non critical error occurred"; + snode::semantic::appLog().warn() << "TLSWebApp: non critical error occurred"; break; case core::socket::State::FATAL: - VLOG(1) << "TLSWebApp: critical error occurred"; + snode::semantic::appLog().error() << "TLSWebApp: critical error occurred"; break; } }); diff --git a/docs/logging/organization-legacy-logging-inventory.md b/docs/logging/organization-legacy-logging-inventory.md index cc623fd9f6..d3b140a7a1 100644 --- a/docs/logging/organization-legacy-logging-inventory.md +++ b/docs/logging/organization-legacy-logging-inventory.md @@ -6,9 +6,9 @@ ## Summary -All 33 repositories currently visible to the organization audit account were scanned at their default-branch heads: 28 public repositories, 5 private repositories, 13 forks, and no archived repositories. +All repositories currently visible to the organization audit account were scanned at their default-branch heads. The dead `snode.c-dev` repository is intentionally excluded from the actionable scope at the organization's request. -There are **1,566 actionable `LOG(...)`, `VLOG(...)`, or `PLOG(...)` occurrences in 14 repositories**: 302 `LOG`, 1,140 `VLOG`, and 124 `PLOG`. Each entry below is a legacy macro definition, a compiled/test/example call site, or a maintained code example that must be removed or migrated to the semantic logging API. +There are **593 actionable legacy logging occurrences in 13 repositories**. Each entry below is a legacy macro definition, a compiled/test/example call site, or a maintained code example that must be removed or migrated to the semantic logging API. | Repository | Actionable occurrences | | --- | ---: | @@ -20,7 +20,6 @@ There are **1,566 actionable `LOG(...)`, `VLOG(...)`, or `PLOG(...)` occurrences | `simple-form-snodec` | 13 | | `snode.c` | 92 | | `SNode.C-Book` | 138 | -| `snode.c-dev` | 973 | | `snodec-forum-webapp` | 80 | | `SnodeCWebForum` | 4 | | `talks` | 19 | @@ -389,979 +388,6 @@ SNode.C-Book : manuscript/chapters/36-extending-minigateway-with-a-new-network-r SNode.C-Book : manuscript/chapters/36-extending-minigateway-with-a-new-network-role.md : 508 SNode.C-Book : manuscript/chapters/36-extending-minigateway-with-a-new-network-role.md : 522 SNode.C-Book : manuscript/chapters/38-extending-the-framework-safely.md : 136 -snode.c-dev : README_dox.md : 108 -snode.c-dev : README_dox.md : 110 -snode.c-dev : README_dox.md : 116 -snode.c-dev : README_dox.md : 118 -snode.c-dev : README_dox.md : 174 -snode.c-dev : README_dox.md : 175 -snode.c-dev : README_dox.md : 180 -snode.c-dev : README_dox.md : 181 -snode.c-dev : README_dox.md : 199 -snode.c-dev : README_dox.md : 201 -snode.c-dev : README_dox.md : 207 -snode.c-dev : README_dox.md : 209 -snode.c-dev : README_dox.md : 249 -snode.c-dev : README_dox.md : 251 -snode.c-dev : README_dox.md : 256 -snode.c-dev : README_dox.md : 257 -snode.c-dev : README_dox.md : 260 -snode.c-dev : README_dox.md : 266 -snode.c-dev : README_dox.md : 267 -snode.c-dev : README_dox.md : 270 -snode.c-dev : README_dox.md : 281 -snode.c-dev : README_dox.md : 283 -snode.c-dev : README_dox.md : 288 -snode.c-dev : README_dox.md : 289 -snode.c-dev : README_dox.md : 292 -snode.c-dev : README_dox.md : 301 -snode.c-dev : README_dox.md : 304 -snode.c-dev : README_dox.md : 308 -snode.c-dev : README_dox.md : 316 -snode.c-dev : README_dox.md : 321 -snode.c-dev : README_dox.md : 324 -snode.c-dev : README_dox.md : 326 -snode.c-dev : README_dox.md : 333 -snode.c-dev : README_dox.md : 338 -snode.c-dev : README_dox.md : 339 -snode.c-dev : README_dox.md : 342 -snode.c-dev : README_dox.md : 365 -snode.c-dev : README_dox.md : 366 -snode.c-dev : README_dox.md : 367 -snode.c-dev : README_dox.md : 386 -snode.c-dev : README_dox.md : 387 -snode.c-dev : README_dox.md : 388 -snode.c-dev : README_dox.md : 408 -snode.c-dev : README_dox.md : 409 -snode.c-dev : README.md : 127 -snode.c-dev : README.md : 129 -snode.c-dev : README.md : 135 -snode.c-dev : README.md : 137 -snode.c-dev : README.md : 193 -snode.c-dev : README.md : 194 -snode.c-dev : README.md : 199 -snode.c-dev : README.md : 200 -snode.c-dev : README.md : 218 -snode.c-dev : README.md : 220 -snode.c-dev : README.md : 226 -snode.c-dev : README.md : 228 -snode.c-dev : README.md : 268 -snode.c-dev : README.md : 270 -snode.c-dev : README.md : 275 -snode.c-dev : README.md : 276 -snode.c-dev : README.md : 279 -snode.c-dev : README.md : 285 -snode.c-dev : README.md : 286 -snode.c-dev : README.md : 289 -snode.c-dev : README.md : 300 -snode.c-dev : README.md : 302 -snode.c-dev : README.md : 307 -snode.c-dev : README.md : 308 -snode.c-dev : README.md : 311 -snode.c-dev : README.md : 320 -snode.c-dev : README.md : 323 -snode.c-dev : README.md : 327 -snode.c-dev : README.md : 335 -snode.c-dev : README.md : 340 -snode.c-dev : README.md : 343 -snode.c-dev : README.md : 345 -snode.c-dev : README.md : 352 -snode.c-dev : README.md : 357 -snode.c-dev : README.md : 358 -snode.c-dev : README.md : 361 -snode.c-dev : README.md : 384 -snode.c-dev : README.md : 385 -snode.c-dev : README.md : 386 -snode.c-dev : README.md : 405 -snode.c-dev : README.md : 406 -snode.c-dev : README.md : 407 -snode.c-dev : README.md : 427 -snode.c-dev : README.md : 428 -snode.c-dev : src/apps/configtest.cpp : 18 -snode.c-dev : src/apps/database/testmariadb.cpp : 59 -snode.c-dev : src/apps/database/testmariadb.cpp : 62 -snode.c-dev : src/apps/database/testmariadb.cpp : 65 -snode.c-dev : src/apps/database/testmariadb.cpp : 69 -snode.c-dev : src/apps/database/testmariadb.cpp : 75 -snode.c-dev : src/apps/database/testmariadb.cpp : 78 -snode.c-dev : src/apps/database/testmariadb.cpp : 81 -snode.c-dev : src/apps/database/testmariadb.cpp : 85 -snode.c-dev : src/apps/database/testmariadb.cpp : 91 -snode.c-dev : src/apps/database/testmariadb.cpp : 94 -snode.c-dev : src/apps/database/testmariadb.cpp : 98 -snode.c-dev : src/apps/database/testmariadb.cpp : 104 -snode.c-dev : src/apps/database/testmariadb.cpp : 107 -snode.c-dev : src/apps/database/testmariadb.cpp : 111 -snode.c-dev : src/apps/database/testmariadb.cpp : 120 -snode.c-dev : src/apps/database/testmariadb.cpp : 122 -snode.c-dev : src/apps/database/testmariadb.cpp : 126 -snode.c-dev : src/apps/database/testmariadb.cpp : 136 -snode.c-dev : src/apps/database/testmariadb.cpp : 138 -snode.c-dev : src/apps/database/testmariadb.cpp : 144 -snode.c-dev : src/apps/database/testmariadb.cpp : 146 -snode.c-dev : src/apps/database/testmariadb.cpp : 151 -snode.c-dev : src/apps/database/testmariadb.cpp : 158 -snode.c-dev : src/apps/database/testmariadb.cpp : 161 -snode.c-dev : src/apps/database/testmariadb.cpp : 165 -snode.c-dev : src/apps/database/testmariadb.cpp : 174 -snode.c-dev : src/apps/database/testmariadb.cpp : 181 -snode.c-dev : src/apps/database/testmariadb.cpp : 184 -snode.c-dev : src/apps/database/testmariadb.cpp : 187 -snode.c-dev : src/apps/database/testmariadb.cpp : 190 -snode.c-dev : src/apps/database/testmariadb.cpp : 195 -snode.c-dev : src/apps/database/testmariadb.cpp : 200 -snode.c-dev : src/apps/database/testmariadb.cpp : 203 -snode.c-dev : src/apps/database/testmariadb.cpp : 210 -snode.c-dev : src/apps/database/testmariadb.cpp : 215 -snode.c-dev : src/apps/database/testmariadb.cpp : 221 -snode.c-dev : src/apps/database/testmariadb.cpp : 224 -snode.c-dev : src/apps/database/testmariadb.cpp : 231 -snode.c-dev : src/apps/database/testmariadb.cpp : 234 -snode.c-dev : src/apps/database/testmariadb.cpp : 239 -snode.c-dev : src/apps/database/testmariadb.cpp : 242 -snode.c-dev : src/apps/database/testmariadb.cpp : 245 -snode.c-dev : src/apps/database/testmariadb.cpp : 249 -snode.c-dev : src/apps/database/testmariadb.cpp : 254 -snode.c-dev : src/apps/database/testmariadb.cpp : 257 -snode.c-dev : src/apps/database/testmariadb.cpp : 263 -snode.c-dev : src/apps/database/testmariadb.cpp : 266 -snode.c-dev : src/apps/database/testmariadb.cpp : 269 -snode.c-dev : src/apps/database/testmariadb.cpp : 273 -snode.c-dev : src/apps/database/testmariadb.cpp : 278 -snode.c-dev : src/apps/database/testmariadb.cpp : 281 -snode.c-dev : src/apps/database/testmariadb.cpp : 288 -snode.c-dev : src/apps/database/testmariadb.cpp : 290 -snode.c-dev : src/apps/database/testmariadb.cpp : 294 -snode.c-dev : src/apps/database/testmariadb.cpp : 297 -snode.c-dev : src/apps/database/testmariadb.cpp : 300 -snode.c-dev : src/apps/database/testmariadb.cpp : 305 -snode.c-dev : src/apps/database/testmariadb.cpp : 310 -snode.c-dev : src/apps/database/testmariadb.cpp : 313 -snode.c-dev : src/apps/echo/echoclient.cpp : 47 -snode.c-dev : src/apps/echo/echoclient.cpp : 50 -snode.c-dev : src/apps/echo/echoclient.cpp : 52 -snode.c-dev : src/apps/echo/echoclient.cpp : 87 -snode.c-dev : src/apps/echo/echoclient.cpp : 90 -snode.c-dev : src/apps/echo/echoclient.cpp : 92 -snode.c-dev : src/apps/echo/echoserver.cpp : 51 -snode.c-dev : src/apps/echo/echoserver.cpp : 53 -snode.c-dev : src/apps/echo/echoserver.cpp : 55 -snode.c-dev : src/apps/echo/echoserver.cpp : 89 -snode.c-dev : src/apps/echo/echoserver.cpp : 91 -snode.c-dev : src/apps/echo/model/clients.h : 63 -snode.c-dev : src/apps/echo/model/clients.h : 65 -snode.c-dev : src/apps/echo/model/clients.h : 67 -snode.c-dev : src/apps/echo/model/clients.h : 71 -snode.c-dev : src/apps/echo/model/clients.h : 74 -snode.c-dev : src/apps/echo/model/clients.h : 76 -snode.c-dev : src/apps/echo/model/clients.h : 78 -snode.c-dev : src/apps/echo/model/clients.h : 100 -snode.c-dev : src/apps/echo/model/clients.h : 102 -snode.c-dev : src/apps/echo/model/clients.h : 104 -snode.c-dev : src/apps/echo/model/clients.h : 108 -snode.c-dev : src/apps/echo/model/clients.h : 114 -snode.c-dev : src/apps/echo/model/clients.h : 117 -snode.c-dev : src/apps/echo/model/clients.h : 121 -snode.c-dev : src/apps/echo/model/clients.h : 130 -snode.c-dev : src/apps/echo/model/clients.h : 137 -snode.c-dev : src/apps/echo/model/clients.h : 142 -snode.c-dev : src/apps/echo/model/clients.h : 144 -snode.c-dev : src/apps/echo/model/clients.h : 151 -snode.c-dev : src/apps/echo/model/clients.h : 155 -snode.c-dev : src/apps/echo/model/clients.h : 157 -snode.c-dev : src/apps/echo/model/clients.h : 159 -snode.c-dev : src/apps/echo/model/EchoSocketContext.cpp : 37 -snode.c-dev : src/apps/echo/model/EchoSocketContext.cpp : 45 -snode.c-dev : src/apps/echo/model/EchoSocketContext.cpp : 55 -snode.c-dev : src/apps/echo/model/servers.h : 62 -snode.c-dev : src/apps/echo/model/servers.h : 64 -snode.c-dev : src/apps/echo/model/servers.h : 66 -snode.c-dev : src/apps/echo/model/servers.h : 70 -snode.c-dev : src/apps/echo/model/servers.h : 73 -snode.c-dev : src/apps/echo/model/servers.h : 75 -snode.c-dev : src/apps/echo/model/servers.h : 77 -snode.c-dev : src/apps/echo/model/servers.h : 98 -snode.c-dev : src/apps/echo/model/servers.h : 100 -snode.c-dev : src/apps/echo/model/servers.h : 102 -snode.c-dev : src/apps/echo/model/servers.h : 106 -snode.c-dev : src/apps/echo/model/servers.h : 112 -snode.c-dev : src/apps/echo/model/servers.h : 115 -snode.c-dev : src/apps/echo/model/servers.h : 119 -snode.c-dev : src/apps/echo/model/servers.h : 128 -snode.c-dev : src/apps/echo/model/servers.h : 135 -snode.c-dev : src/apps/echo/model/servers.h : 140 -snode.c-dev : src/apps/echo/model/servers.h : 142 -snode.c-dev : src/apps/echo/model/servers.h : 149 -snode.c-dev : src/apps/echo/model/servers.h : 153 -snode.c-dev : src/apps/echo/model/servers.h : 155 -snode.c-dev : src/apps/echo/model/servers.h : 157 -snode.c-dev : src/apps/http/httpclient.cpp : 44 -snode.c-dev : src/apps/http/httpclient.cpp : 46 -snode.c-dev : src/apps/http/httpclient.cpp : 48 -snode.c-dev : src/apps/http/httpclient.cpp : 82 -snode.c-dev : src/apps/http/httpclient.cpp : 84 -snode.c-dev : src/apps/http/httpclientclientcert.cpp : 48 -snode.c-dev : src/apps/http/httpclientclientcert.cpp : 50 -snode.c-dev : src/apps/http/httpclientclientcert.cpp : 52 -snode.c-dev : src/apps/http/httpclientclientcert.cpp : 86 -snode.c-dev : src/apps/http/httpclientclientcert.cpp : 88 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 61 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 64 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 66 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 69 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 71 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 73 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 80 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 83 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 87 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 105 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 108 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 116 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 121 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 146 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 148 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 150 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 154 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 160 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 163 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 167 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 176 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 183 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 188 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 190 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 197 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 203 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 205 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 206 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 215 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 217 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 236 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 238 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 240 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 244 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 249 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 251 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 253 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 262 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 264 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 284 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 286 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 288 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 298 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 300 -snode.c-dev : src/apps/http/httplowlevelclient.cpp : 302 -snode.c-dev : src/apps/http/httpserver.cpp : 53 -snode.c-dev : src/apps/http/httpserver.cpp : 55 -snode.c-dev : src/apps/http/httpserver.cpp : 57 -snode.c-dev : src/apps/http/httpserver.cpp : 91 -snode.c-dev : src/apps/http/httpserver.cpp : 93 -snode.c-dev : src/apps/http/httpserverclientcert.cpp : 55 -snode.c-dev : src/apps/http/httpserverclientcert.cpp : 57 -snode.c-dev : src/apps/http/httpserverclientcert.cpp : 59 -snode.c-dev : src/apps/http/httpserverclientcert.cpp : 93 -snode.c-dev : src/apps/http/httpserverclientcert.cpp : 95 -snode.c-dev : src/apps/http/model/clients.h : 58 -snode.c-dev : src/apps/http/model/clients.h : 60 -snode.c-dev : src/apps/http/model/clients.h : 62 -snode.c-dev : src/apps/http/model/clients.h : 66 -snode.c-dev : src/apps/http/model/clients.h : 74 -snode.c-dev : src/apps/http/model/clients.h : 75 -snode.c-dev : src/apps/http/model/clients.h : 76 -snode.c-dev : src/apps/http/model/clients.h : 78 -snode.c-dev : src/apps/http/model/clients.h : 80 -snode.c-dev : src/apps/http/model/clients.h : 83 -snode.c-dev : src/apps/http/model/clients.h : 85 -snode.c-dev : src/apps/http/model/clients.h : 87 -snode.c-dev : src/apps/http/model/clients.h : 92 -snode.c-dev : src/apps/http/model/clients.h : 95 -snode.c-dev : src/apps/http/model/clients.h : 96 -snode.c-dev : src/apps/http/model/clients.h : 97 -snode.c-dev : src/apps/http/model/clients.h : 100 -snode.c-dev : src/apps/http/model/clients.h : 102 -snode.c-dev : src/apps/http/model/clients.h : 104 -snode.c-dev : src/apps/http/model/clients.h : 126 -snode.c-dev : src/apps/http/model/clients.h : 128 -snode.c-dev : src/apps/http/model/clients.h : 130 -snode.c-dev : src/apps/http/model/clients.h : 134 -snode.c-dev : src/apps/http/model/clients.h : 136 -snode.c-dev : src/apps/http/model/clients.h : 137 -snode.c-dev : src/apps/http/model/clients.h : 138 -snode.c-dev : src/apps/http/model/clients.h : 144 -snode.c-dev : src/apps/http/model/clients.h : 147 -snode.c-dev : src/apps/http/model/clients.h : 151 -snode.c-dev : src/apps/http/model/clients.h : 160 -snode.c-dev : src/apps/http/model/clients.h : 167 -snode.c-dev : src/apps/http/model/clients.h : 172 -snode.c-dev : src/apps/http/model/clients.h : 174 -snode.c-dev : src/apps/http/model/clients.h : 181 -snode.c-dev : src/apps/http/model/clients.h : 190 -snode.c-dev : src/apps/http/model/clients.h : 191 -snode.c-dev : src/apps/http/model/clients.h : 192 -snode.c-dev : src/apps/http/model/clients.h : 194 -snode.c-dev : src/apps/http/model/clients.h : 196 -snode.c-dev : src/apps/http/model/clients.h : 199 -snode.c-dev : src/apps/http/model/clients.h : 201 -snode.c-dev : src/apps/http/model/clients.h : 203 -snode.c-dev : src/apps/http/model/clients.h : 208 -snode.c-dev : src/apps/http/model/clients.h : 211 -snode.c-dev : src/apps/http/model/clients.h : 212 -snode.c-dev : src/apps/http/model/clients.h : 213 -snode.c-dev : src/apps/http/model/clients.h : 216 -snode.c-dev : src/apps/http/model/clients.h : 218 -snode.c-dev : src/apps/http/model/clients.h : 220 -snode.c-dev : src/apps/http/model/servers.h : 64 -snode.c-dev : src/apps/http/model/servers.h : 66 -snode.c-dev : src/apps/http/model/servers.h : 67 -snode.c-dev : src/apps/http/model/servers.h : 72 -snode.c-dev : src/apps/http/model/servers.h : 74 -snode.c-dev : src/apps/http/model/servers.h : 75 -snode.c-dev : src/apps/http/model/servers.h : 96 -snode.c-dev : src/apps/http/model/servers.h : 98 -snode.c-dev : src/apps/http/model/servers.h : 99 -snode.c-dev : src/apps/http/model/servers.h : 104 -snode.c-dev : src/apps/http/model/servers.h : 106 -snode.c-dev : src/apps/http/model/servers.h : 107 -snode.c-dev : src/apps/http/model/servers.h : 108 -snode.c-dev : src/apps/http/model/servers.h : 114 -snode.c-dev : src/apps/http/model/servers.h : 117 -snode.c-dev : src/apps/http/model/servers.h : 121 -snode.c-dev : src/apps/http/model/servers.h : 130 -snode.c-dev : src/apps/http/model/servers.h : 137 -snode.c-dev : src/apps/http/model/servers.h : 142 -snode.c-dev : src/apps/http/model/servers.h : 144 -snode.c-dev : src/apps/http/model/servers.h : 151 -snode.c-dev : src/apps/http/model/servers.h : 158 -snode.c-dev : src/apps/http/model/servers.h : 160 -snode.c-dev : src/apps/http/model/servers.h : 161 -snode.c-dev : src/apps/jsonclient.cpp : 47 -snode.c-dev : src/apps/jsonclient.cpp : 49 -snode.c-dev : src/apps/jsonclient.cpp : 51 -snode.c-dev : src/apps/jsonclient.cpp : 55 -snode.c-dev : src/apps/jsonclient.cpp : 58 -snode.c-dev : src/apps/jsonclient.cpp : 66 -snode.c-dev : src/apps/jsonclient.cpp : 67 -snode.c-dev : src/apps/jsonclient.cpp : 68 -snode.c-dev : src/apps/jsonclient.cpp : 69 -snode.c-dev : src/apps/jsonclient.cpp : 70 -snode.c-dev : src/apps/jsonclient.cpp : 72 -snode.c-dev : src/apps/jsonclient.cpp : 74 -snode.c-dev : src/apps/jsonclient.cpp : 77 -snode.c-dev : src/apps/jsonclient.cpp : 79 -snode.c-dev : src/apps/jsonclient.cpp : 81 -snode.c-dev : src/apps/jsonclient.cpp : 86 -snode.c-dev : src/apps/jsonclient.cpp : 89 -snode.c-dev : src/apps/jsonclient.cpp : 90 -snode.c-dev : src/apps/jsonclient.cpp : 91 -snode.c-dev : src/apps/jsonclient.cpp : 94 -snode.c-dev : src/apps/jsonclient.cpp : 96 -snode.c-dev : src/apps/jsonclient.cpp : 98 -snode.c-dev : src/apps/jsonclient.cpp : 104 -snode.c-dev : src/apps/jsonclient.cpp : 106 -snode.c-dev : src/apps/jsonclient.cpp : 108 -snode.c-dev : src/apps/jsonclient.cpp : 114 -snode.c-dev : src/apps/jsonclient.cpp : 116 -snode.c-dev : src/apps/jsonclient.cpp : 118 -snode.c-dev : src/apps/jsonclient.cpp : 125 -snode.c-dev : src/apps/jsonserver.cpp : 46 -snode.c-dev : src/apps/jsonserver.cpp : 48 -snode.c-dev : src/apps/jsonserver.cpp : 50 -snode.c-dev : src/apps/jsonserver.cpp : 60 -snode.c-dev : src/apps/jsonserver.cpp : 63 -snode.c-dev : src/apps/jsonserver.cpp : 74 -snode.c-dev : src/apps/jsonserver.cpp : 76 -snode.c-dev : src/apps/jsonserver.cpp : 77 -snode.c-dev : src/apps/jsonserver.cpp : 81 -snode.c-dev : src/apps/jsonserver.cpp : 83 -snode.c-dev : src/apps/jsonserver.cpp : 84 -snode.c-dev : src/apps/lowlevelclient.cpp : 60 -snode.c-dev : src/apps/lowlevelclient.cpp : 63 -snode.c-dev : src/apps/lowlevelclient.cpp : 65 -snode.c-dev : src/apps/lowlevelclient.cpp : 68 -snode.c-dev : src/apps/lowlevelclient.cpp : 70 -snode.c-dev : src/apps/lowlevelclient.cpp : 72 -snode.c-dev : src/apps/lowlevelclient.cpp : 78 -snode.c-dev : src/apps/lowlevelclient.cpp : 81 -snode.c-dev : src/apps/lowlevelclient.cpp : 87 -snode.c-dev : src/apps/lowlevelclient.cpp : 105 -snode.c-dev : src/apps/lowlevelclient.cpp : 110 -snode.c-dev : src/apps/lowlevelclient.cpp : 118 -snode.c-dev : src/apps/lowlevelclient.cpp : 122 -snode.c-dev : src/apps/lowlevelclient.cpp : 146 -snode.c-dev : src/apps/lowlevelclient.cpp : 148 -snode.c-dev : src/apps/lowlevelclient.cpp : 150 -snode.c-dev : src/apps/lowlevelclient.cpp : 154 -snode.c-dev : src/apps/lowlevelclient.cpp : 160 -snode.c-dev : src/apps/lowlevelclient.cpp : 163 -snode.c-dev : src/apps/lowlevelclient.cpp : 167 -snode.c-dev : src/apps/lowlevelclient.cpp : 176 -snode.c-dev : src/apps/lowlevelclient.cpp : 183 -snode.c-dev : src/apps/lowlevelclient.cpp : 188 -snode.c-dev : src/apps/lowlevelclient.cpp : 190 -snode.c-dev : src/apps/lowlevelclient.cpp : 197 -snode.c-dev : src/apps/lowlevelclient.cpp : 201 -snode.c-dev : src/apps/lowlevelclient.cpp : 203 -snode.c-dev : src/apps/lowlevelclient.cpp : 204 -snode.c-dev : src/apps/lowlevelclient.cpp : 213 -snode.c-dev : src/apps/lowlevelclient.cpp : 215 -snode.c-dev : src/apps/lowlevelclient.cpp : 217 -snode.c-dev : src/apps/lowlevelclient.cpp : 236 -snode.c-dev : src/apps/lowlevelclient.cpp : 238 -snode.c-dev : src/apps/lowlevelclient.cpp : 240 -snode.c-dev : src/apps/lowlevelclient.cpp : 244 -snode.c-dev : src/apps/lowlevelclient.cpp : 247 -snode.c-dev : src/apps/lowlevelclient.cpp : 249 -snode.c-dev : src/apps/lowlevelclient.cpp : 251 -snode.c-dev : src/apps/lowlevelclient.cpp : 260 -snode.c-dev : src/apps/lowlevelclient.cpp : 262 -snode.c-dev : src/apps/lowlevelclient.cpp : 264 -snode.c-dev : src/apps/lowlevelclient.cpp : 284 -snode.c-dev : src/apps/lowlevelclient.cpp : 286 -snode.c-dev : src/apps/lowlevelclient.cpp : 288 -snode.c-dev : src/apps/lowlevelclient.cpp : 297 -snode.c-dev : src/apps/lowlevelclient.cpp : 299 -snode.c-dev : src/apps/lowlevelclient.cpp : 301 -snode.c-dev : src/apps/main.cpp : 143 -snode.c-dev : src/apps/main.cpp : 214 -snode.c-dev : src/apps/main.cpp : 218 -snode.c-dev : src/apps/main.cpp : 223 -snode.c-dev : src/apps/main.cpp : 230 -snode.c-dev : src/apps/main.cpp : 240 -snode.c-dev : src/apps/main.cpp : 243 -snode.c-dev : src/apps/main.cpp : 246 -snode.c-dev : src/apps/testbasicauthentication.cpp : 70 -snode.c-dev : src/apps/testbasicauthentication.cpp : 72 -snode.c-dev : src/apps/testbasicauthentication.cpp : 74 -snode.c-dev : src/apps/testbasicauthentication.cpp : 97 -snode.c-dev : src/apps/testbasicauthentication.cpp : 99 -snode.c-dev : src/apps/testbasicauthentication.cpp : 101 -snode.c-dev : src/apps/testbasicauthentication.cpp : 106 -snode.c-dev : src/apps/testbasicauthentication.cpp : 108 -snode.c-dev : src/apps/testbasicauthentication.cpp : 110 -snode.c-dev : src/apps/testbasicauthentication.cpp : 116 -snode.c-dev : src/apps/testbasicauthentication.cpp : 118 -snode.c-dev : src/apps/testbasicauthentication.cpp : 120 -snode.c-dev : src/apps/testparsers.cpp : 50 -snode.c-dev : src/apps/testparsers.cpp : 53 -snode.c-dev : src/apps/testparsers.cpp : 57 -snode.c-dev : src/apps/testparsers.cpp : 59 -snode.c-dev : src/apps/testparsers.cpp : 61 -snode.c-dev : src/apps/testparsers.cpp : 63 -snode.c-dev : src/apps/testparsers.cpp : 68 -snode.c-dev : src/apps/testparsers.cpp : 71 -snode.c-dev : src/apps/testparsers.cpp : 74 -snode.c-dev : src/apps/testparsers.cpp : 89 -snode.c-dev : src/apps/testparsers.cpp : 90 -snode.c-dev : src/apps/testparsers.cpp : 91 -snode.c-dev : src/apps/testparsers.cpp : 96 -snode.c-dev : src/apps/testparsers.cpp : 97 -snode.c-dev : src/apps/testparsers.cpp : 98 -snode.c-dev : src/apps/testparsers.cpp : 108 -snode.c-dev : src/apps/testparsers.cpp : 111 -snode.c-dev : src/apps/testparsers.cpp : 113 -snode.c-dev : src/apps/testparsers.cpp : 116 -snode.c-dev : src/apps/testparsers.cpp : 118 -snode.c-dev : src/apps/testparsers.cpp : 120 -snode.c-dev : src/apps/testparsers.cpp : 126 -snode.c-dev : src/apps/testparsers.cpp : 129 -snode.c-dev : src/apps/testparsers.cpp : 133 -snode.c-dev : src/apps/testparsers.cpp : 144 -snode.c-dev : src/apps/testparsers.cpp : 145 -snode.c-dev : src/apps/testparsers.cpp : 146 -snode.c-dev : src/apps/testparsers.cpp : 150 -snode.c-dev : src/apps/testparsers.cpp : 151 -snode.c-dev : src/apps/testparsers.cpp : 152 -snode.c-dev : src/apps/testpipe.cpp : 18 -snode.c-dev : src/apps/testpipe.cpp : 25 -snode.c-dev : src/apps/testpipe.cpp : 29 -snode.c-dev : src/apps/testpipe.cpp : 33 -snode.c-dev : src/apps/testpipe.cpp : 39 -snode.c-dev : src/apps/testpost.cpp : 66 -snode.c-dev : src/apps/testpost.cpp : 67 -snode.c-dev : src/apps/testpost.cpp : 70 -snode.c-dev : src/apps/testpost.cpp : 84 -snode.c-dev : src/apps/testpost.cpp : 86 -snode.c-dev : src/apps/testpost.cpp : 88 -snode.c-dev : src/apps/testpost.cpp : 94 -snode.c-dev : src/apps/testpost.cpp : 96 -snode.c-dev : src/apps/testpost.cpp : 98 -snode.c-dev : src/apps/testregex.cpp : 58 -snode.c-dev : src/apps/testregex.cpp : 62 -snode.c-dev : src/apps/testregex.cpp : 113 -snode.c-dev : src/apps/testregex.cpp : 118 -snode.c-dev : src/apps/testregex.cpp : 123 -snode.c-dev : src/apps/testregex.cpp : 127 -snode.c-dev : src/apps/testregex.cpp : 131 -snode.c-dev : src/apps/testregex.cpp : 135 -snode.c-dev : src/apps/testregex.cpp : 146 -snode.c-dev : src/apps/testregex.cpp : 147 -snode.c-dev : src/apps/testregex.cpp : 148 -snode.c-dev : src/apps/testregex.cpp : 173 -snode.c-dev : src/apps/testregex.cpp : 176 -snode.c-dev : src/apps/testregex.cpp : 182 -snode.c-dev : src/apps/testregex.cpp : 183 -snode.c-dev : src/apps/testregex.cpp : 184 -snode.c-dev : src/apps/testregex.cpp : 206 -snode.c-dev : src/apps/testregex.cpp : 207 -snode.c-dev : src/apps/testregex.cpp : 208 -snode.c-dev : src/apps/testregex.cpp : 247 -snode.c-dev : src/apps/testregex.cpp : 249 -snode.c-dev : src/apps/testregex.cpp : 251 -snode.c-dev : src/apps/testregex.cpp : 256 -snode.c-dev : src/apps/testregex.cpp : 258 -snode.c-dev : src/apps/testregex.cpp : 259 -snode.c-dev : src/apps/testregex.cpp : 263 -snode.c-dev : src/apps/testregex.cpp : 265 -snode.c-dev : src/apps/testregex.cpp : 266 -snode.c-dev : src/apps/testregex.cpp : 275 -snode.c-dev : src/apps/testregex.cpp : 277 -snode.c-dev : src/apps/testregex.cpp : 279 -snode.c-dev : src/apps/testregex.cpp : 284 -snode.c-dev : src/apps/testregex.cpp : 286 -snode.c-dev : src/apps/testregex.cpp : 287 -snode.c-dev : src/apps/testregex.cpp : 291 -snode.c-dev : src/apps/testregex.cpp : 298 -snode.c-dev : src/apps/testregex.cpp : 301 -snode.c-dev : src/apps/testregex.cpp : 305 -snode.c-dev : src/apps/testregex.cpp : 314 -snode.c-dev : src/apps/testregex.cpp : 321 -snode.c-dev : src/apps/testregex.cpp : 326 -snode.c-dev : src/apps/testregex.cpp : 328 -snode.c-dev : src/apps/testregex.cpp : 335 -snode.c-dev : src/apps/testregex.cpp : 340 -snode.c-dev : src/apps/testregex.cpp : 342 -snode.c-dev : src/apps/testregex.cpp : 343 -snode.c-dev : src/apps/verysimpleserver.cpp : 41 -snode.c-dev : src/apps/verysimpleserver.cpp : 43 -snode.c-dev : src/apps/verysimpleserver.cpp : 45 -snode.c-dev : src/apps/verysimpleserver.cpp : 51 -snode.c-dev : src/apps/verysimpleserver.cpp : 53 -snode.c-dev : src/apps/verysimpleserver.cpp : 55 -snode.c-dev : src/apps/vhostserver.cpp : 64 -snode.c-dev : src/apps/vhostserver.cpp : 66 -snode.c-dev : src/apps/vhostserver.cpp : 68 -snode.c-dev : src/apps/vhostserver.cpp : 90 -snode.c-dev : src/apps/vhostserver.cpp : 92 -snode.c-dev : src/apps/vhostserver.cpp : 94 -snode.c-dev : src/apps/vhostserver.cpp : 99 -snode.c-dev : src/apps/vhostserver.cpp : 101 -snode.c-dev : src/apps/vhostserver.cpp : 103 -snode.c-dev : src/apps/vhostserver.cpp : 109 -snode.c-dev : src/apps/vhostserver.cpp : 111 -snode.c-dev : src/apps/vhostserver.cpp : 113 -snode.c-dev : src/apps/warema-jalousien.cpp : 31 -snode.c-dev : src/apps/warema-jalousien.cpp : 32 -snode.c-dev : src/apps/warema-jalousien.cpp : 60 -snode.c-dev : src/apps/warema-jalousien.cpp : 62 -snode.c-dev : src/apps/warema-jalousien.cpp : 64 -snode.c-dev : src/apps/websocket/echoclient.cpp : 59 -snode.c-dev : src/apps/websocket/echoclient.cpp : 61 -snode.c-dev : src/apps/websocket/echoclient.cpp : 62 -snode.c-dev : src/apps/websocket/echoclient.cpp : 66 -snode.c-dev : src/apps/websocket/echoclient.cpp : 69 -snode.c-dev : src/apps/websocket/echoclient.cpp : 76 -snode.c-dev : src/apps/websocket/echoclient.cpp : 77 -snode.c-dev : src/apps/websocket/echoclient.cpp : 78 -snode.c-dev : src/apps/websocket/echoclient.cpp : 80 -snode.c-dev : src/apps/websocket/echoclient.cpp : 82 -snode.c-dev : src/apps/websocket/echoclient.cpp : 85 -snode.c-dev : src/apps/websocket/echoclient.cpp : 87 -snode.c-dev : src/apps/websocket/echoclient.cpp : 89 -snode.c-dev : src/apps/websocket/echoclient.cpp : 94 -snode.c-dev : src/apps/websocket/echoclient.cpp : 99 -snode.c-dev : src/apps/websocket/echoclient.cpp : 100 -snode.c-dev : src/apps/websocket/echoclient.cpp : 101 -snode.c-dev : src/apps/websocket/echoclient.cpp : 105 -snode.c-dev : src/apps/websocket/echoclient.cpp : 107 -snode.c-dev : src/apps/websocket/echoclient.cpp : 108 -snode.c-dev : src/apps/websocket/echoclient.cpp : 117 -snode.c-dev : src/apps/websocket/echoclient.cpp : 119 -snode.c-dev : src/apps/websocket/echoclient.cpp : 120 -snode.c-dev : src/apps/websocket/echoclient.cpp : 124 -snode.c-dev : src/apps/websocket/echoclient.cpp : 129 -snode.c-dev : src/apps/websocket/echoclient.cpp : 132 -snode.c-dev : src/apps/websocket/echoclient.cpp : 136 -snode.c-dev : src/apps/websocket/echoclient.cpp : 145 -snode.c-dev : src/apps/websocket/echoclient.cpp : 152 -snode.c-dev : src/apps/websocket/echoclient.cpp : 157 -snode.c-dev : src/apps/websocket/echoclient.cpp : 159 -snode.c-dev : src/apps/websocket/echoclient.cpp : 166 -snode.c-dev : src/apps/websocket/echoclient.cpp : 170 -snode.c-dev : src/apps/websocket/echoclient.cpp : 177 -snode.c-dev : src/apps/websocket/echoclient.cpp : 178 -snode.c-dev : src/apps/websocket/echoclient.cpp : 179 -snode.c-dev : src/apps/websocket/echoclient.cpp : 181 -snode.c-dev : src/apps/websocket/echoclient.cpp : 183 -snode.c-dev : src/apps/websocket/echoclient.cpp : 186 -snode.c-dev : src/apps/websocket/echoclient.cpp : 188 -snode.c-dev : src/apps/websocket/echoclient.cpp : 190 -snode.c-dev : src/apps/websocket/echoclient.cpp : 195 -snode.c-dev : src/apps/websocket/echoclient.cpp : 200 -snode.c-dev : src/apps/websocket/echoclient.cpp : 201 -snode.c-dev : src/apps/websocket/echoclient.cpp : 202 -snode.c-dev : src/apps/websocket/echoclient.cpp : 206 -snode.c-dev : src/apps/websocket/echoclient.cpp : 208 -snode.c-dev : src/apps/websocket/echoclient.cpp : 209 -snode.c-dev : src/apps/websocket/echoclient.cpp : 216 -snode.c-dev : src/apps/websocket/echoclient.cpp : 218 -snode.c-dev : src/apps/websocket/echoclient.cpp : 225 -snode.c-dev : src/apps/websocket/echoclient.cpp : 227 -snode.c-dev : src/apps/websocket/echoserver.cpp : 41 -snode.c-dev : src/apps/websocket/echoserver.cpp : 44 -snode.c-dev : src/apps/websocket/echoserver.cpp : 52 -snode.c-dev : src/apps/websocket/echoserver.cpp : 53 -snode.c-dev : src/apps/websocket/echoserver.cpp : 55 -snode.c-dev : src/apps/websocket/echoserver.cpp : 56 -snode.c-dev : src/apps/websocket/echoserver.cpp : 57 -snode.c-dev : src/apps/websocket/echoserver.cpp : 58 -snode.c-dev : src/apps/websocket/echoserver.cpp : 59 -snode.c-dev : src/apps/websocket/echoserver.cpp : 60 -snode.c-dev : src/apps/websocket/echoserver.cpp : 61 -snode.c-dev : src/apps/websocket/echoserver.cpp : 62 -snode.c-dev : src/apps/websocket/echoserver.cpp : 63 -snode.c-dev : src/apps/websocket/echoserver.cpp : 74 -snode.c-dev : src/apps/websocket/echoserver.cpp : 76 -snode.c-dev : src/apps/websocket/echoserver.cpp : 88 -snode.c-dev : src/apps/websocket/echoserver.cpp : 91 -snode.c-dev : src/apps/websocket/echoserver.cpp : 99 -snode.c-dev : src/apps/websocket/echoserver.cpp : 100 -snode.c-dev : src/apps/websocket/echoserver.cpp : 102 -snode.c-dev : src/apps/websocket/echoserver.cpp : 103 -snode.c-dev : src/apps/websocket/echoserver.cpp : 104 -snode.c-dev : src/apps/websocket/echoserver.cpp : 105 -snode.c-dev : src/apps/websocket/echoserver.cpp : 106 -snode.c-dev : src/apps/websocket/echoserver.cpp : 107 -snode.c-dev : src/apps/websocket/echoserver.cpp : 108 -snode.c-dev : src/apps/websocket/echoserver.cpp : 109 -snode.c-dev : src/apps/websocket/echoserver.cpp : 110 -snode.c-dev : src/apps/websocket/echoserver.cpp : 121 -snode.c-dev : src/apps/websocket/echoserver.cpp : 123 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 37 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 41 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 47 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 51 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 52 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 64 -snode.c-dev : src/apps/websocket/subprotocol/client/echo/Echo.cpp : 68 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 37 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 44 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 50 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 54 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 55 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 67 -snode.c-dev : src/apps/websocket/subprotocol/server/echo/Echo.cpp : 71 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 57 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 76 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 97 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 100 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 114 -snode.c-dev : src/core/DescriptorEventReceiver.cpp : 117 -snode.c-dev : src/core/DynamicLoader.cpp : 35 -snode.c-dev : src/core/DynamicLoader.cpp : 52 -snode.c-dev : src/core/DynamicLoader.cpp : 56 -snode.c-dev : src/core/DynamicLoader.cpp : 59 -snode.c-dev : src/core/DynamicLoader.cpp : 68 -snode.c-dev : src/core/DynamicLoader.cpp : 72 -snode.c-dev : src/core/DynamicLoader.cpp : 75 -snode.c-dev : src/core/DynamicLoader.cpp : 94 -snode.c-dev : src/core/DynamicLoader.cpp : 114 -snode.c-dev : src/core/DynamicLoader.cpp : 135 -snode.c-dev : src/core/EventLoop.cpp : 93 -snode.c-dev : src/core/EventLoop.cpp : 108 -snode.c-dev : src/core/EventLoop.cpp : 149 -snode.c-dev : src/core/EventLoop.cpp : 152 -snode.c-dev : src/core/EventLoop.cpp : 155 -snode.c-dev : src/core/EventLoop.cpp : 194 -snode.c-dev : src/core/socket/SocketConnection.cpp : 64 -snode.c-dev : src/core/socket/SocketContext.cpp : 60 -snode.c-dev : src/core/socket/SocketContext.cpp : 64 -snode.c-dev : src/core/socket/SocketContext.cpp : 86 -snode.c-dev : src/core/socket/SocketContext.cpp : 94 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 104 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 122 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 135 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 141 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 171 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 176 -snode.c-dev : src/core/socket/stream/SocketAcceptor.h : 193 -snode.c-dev : src/core/socket/stream/SocketClient.h : 84 -snode.c-dev : src/core/socket/stream/SocketConnection.h : 118 -snode.c-dev : src/core/socket/stream/SocketConnection.h : 151 -snode.c-dev : src/core/socket/stream/SocketConnection.h : 161 -snode.c-dev : src/core/socket/stream/SocketConnectionFactory.h : 78 -snode.c-dev : src/core/socket/stream/SocketServer.h : 78 -snode.c-dev : src/core/socket/stream/SocketWriter.h : 146 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 66 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 71 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 113 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 117 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 121 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 124 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 133 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 137 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 142 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 145 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 171 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 174 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 178 -snode.c-dev : src/core/socket/stream/tls/SocketAcceptor.h : 181 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 198 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 202 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 208 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 217 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 220 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 224 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 227 -snode.c-dev : src/core/socket/stream/tls/SocketConnection.h : 236 -snode.c-dev : src/core/socket/stream/tls/SocketConnector.h : 61 -snode.c-dev : src/core/socket/stream/tls/SocketConnector.h : 66 -snode.c-dev : src/core/socket/stream/tls/SocketReader.h : 59 -snode.c-dev : src/core/socket/stream/tls/SocketReader.h : 62 -snode.c-dev : src/core/socket/stream/tls/SocketReader.h : 65 -snode.c-dev : src/core/socket/stream/tls/SocketReader.h : 83 -snode.c-dev : src/core/socket/stream/tls/SocketServer.h : 73 -snode.c-dev : src/core/socket/stream/tls/SocketServer.h : 75 -snode.c-dev : src/core/socket/stream/tls/SocketWriter.h : 54 -snode.c-dev : src/core/socket/stream/tls/SocketWriter.h : 57 -snode.c-dev : src/core/socket/stream/tls/SocketWriter.h : 60 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 70 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 72 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 235 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 239 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 244 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 248 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 253 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 257 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 278 -snode.c-dev : src/core/socket/stream/tls/ssl_utils.cpp : 284 -snode.c-dev : src/core/TimerEventReceiver.cpp : 70 -snode.c-dev : src/database/mariadb/MariaDBConnection.cpp : 53 -snode.c-dev : src/database/mariadb/MariaDBConnection.cpp : 65 -snode.c-dev : src/database/mariadb/MariaDBConnection.cpp : 69 -snode.c-dev : src/database/mariadb/MariaDBConnection.cpp : 72 -snode.c-dev : src/database/mariadb/MariaDBConnection.cpp : 144 -snode.c-dev : src/express/middleware/StaticMiddleware.cpp : 48 -snode.c-dev : src/express/middleware/StaticMiddleware.cpp : 55 -snode.c-dev : src/express/middleware/StaticMiddleware.cpp : 62 -snode.c-dev : src/express/middleware/StaticMiddleware.cpp : 65 -snode.c-dev : src/express/WebAppT.h : 61 -snode.c-dev : src/express/WebAppT.h : 63 -snode.c-dev : src/express/WebAppT.h : 65 -snode.c-dev : src/express/WebAppT.h : 69 -snode.c-dev : src/express/WebAppT.h : 71 -snode.c-dev : src/express/WebAppT.h : 73 -snode.c-dev : src/express/WebAppT.h : 81 -snode.c-dev : src/express/WebAppT.h : 83 -snode.c-dev : src/express/WebAppT.h : 85 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 42 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 43 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 49 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 50 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 56 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 57 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 63 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 64 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 70 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 71 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 77 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 78 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 84 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 85 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 91 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 92 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 98 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 99 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 105 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 106 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 112 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 113 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 119 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 120 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 126 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 127 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 133 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 134 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 143 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 146 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 147 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 148 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 149 -snode.c-dev : src/iot/mqtt-fast/SocketContext.cpp : 235 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 166 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 167 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 179 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 180 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 186 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 187 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 193 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 194 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 200 -snode.c-dev : src/iot/mqtt/client/SocketContext.cpp : 201 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 52 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 77 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 79 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 81 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 106 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 108 -snode.c-dev : src/iot/mqtt/server/broker/RetainTree.cpp : 110 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 42 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 50 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 51 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 52 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 69 -snode.c-dev : src/iot/mqtt/server/broker/Session.cpp : 73 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 102 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 103 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 104 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 106 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 107 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 113 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 118 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 119 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 120 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 121 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 122 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 128 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 150 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 152 -snode.c-dev : src/iot/mqtt/server/broker/SubscribtionTree.cpp : 156 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 105 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 106 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 113 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 115 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 119 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 125 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 126 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 135 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 138 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 145 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 146 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 148 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 149 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 150 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 151 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 152 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 153 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 155 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 156 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 157 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 158 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 161 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 164 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 169 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 170 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 172 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 173 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 174 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 175 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 176 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 177 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 181 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 182 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 184 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 188 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 189 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 191 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 195 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 196 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 198 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 202 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 203 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 205 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 209 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 210 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 212 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 215 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 220 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 221 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 223 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 226 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 231 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 232 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 237 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 238 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 409 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 410 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 420 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 421 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 427 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 428 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 434 -snode.c-dev : src/iot/mqtt/server/SocketContext.cpp : 435 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 65 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 66 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 68 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 70 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 77 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 82 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 105 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 140 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 141 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 147 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 148 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 154 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 155 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 161 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 162 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 168 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 169 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 189 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 190 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 191 -snode.c-dev : src/iot/mqtt/SocketContext.cpp : 209 -snode.c-dev : src/net/un/Socket.cpp : 40 -snode.c-dev : src/net/un/stream/SocketServer.hpp : 42 -snode.c-dev : src/utils/Config.cpp : 147 -snode.c-dev : src/utils/Config.cpp : 159 -snode.c-dev : src/utils/Config.cpp : 168 -snode.c-dev : src/utils/Config.cpp : 184 -snode.c-dev : src/utils/Config.cpp : 190 -snode.c-dev : src/utils/Daemon.cpp : 107 -snode.c-dev : src/utils/Daemon.cpp : 126 -snode.c-dev : src/utils/Daemon.cpp : 137 -snode.c-dev : src/utils/Daemon.cpp : 141 -snode.c-dev : src/utils/Daemon.cpp : 145 -snode.c-dev : src/utils/Daemon.cpp : 151 -snode.c-dev : src/utils/Daemon.cpp : 155 -snode.c-dev : src/utils/Timeval.cpp : 42 -snode.c-dev : src/web/http/client/Response.cpp : 76 -snode.c-dev : src/web/http/client/Response.cpp : 80 -snode.c-dev : src/web/http/client/Response.cpp : 84 -snode.c-dev : src/web/http/client/SocketContext.hpp : 94 -snode.c-dev : src/web/http/client/SocketContext.hpp : 99 -snode.c-dev : src/web/http/MimeTypes.cpp : 228 -snode.c-dev : src/web/http/server/Response.cpp : 240 -snode.c-dev : src/web/http/server/Response.cpp : 244 -snode.c-dev : src/web/http/server/SocketContext.hpp : 40 -snode.c-dev : src/web/http/server/SocketContext.hpp : 50 -snode.c-dev : src/web/http/server/SocketContext.hpp : 61 -snode.c-dev : src/web/http/server/SocketContext.hpp : 63 -snode.c-dev : src/web/http/server/SocketContext.hpp : 72 -snode.c-dev : src/web/http/server/SocketContext.hpp : 79 -snode.c-dev : src/web/http/server/SocketContext.hpp : 84 -snode.c-dev : src/web/http/server/SocketContext.hpp : 86 -snode.c-dev : src/web/http/server/SocketContext.hpp : 90 -snode.c-dev : src/web/http/server/SocketContext.hpp : 97 -snode.c-dev : src/web/http/server/SocketContext.hpp : 106 -snode.c-dev : src/web/http/server/SocketContext.hpp : 196 -snode.c-dev : src/web/http/server/SocketContext.hpp : 201 -snode.c-dev : src/web/http/SocketContextUpgradeFactorySelector.hpp : 86 -snode.c-dev : src/web/http/SocketContextUpgradeFactorySelector.hpp : 88 -snode.c-dev : src/web/http/SocketContextUpgradeFactorySelector.hpp : 95 -snode.c-dev : src/web/http/SocketContextUpgradeFactorySelector.hpp : 99 -snode.c-dev : src/web/http/SocketContextUpgradeFactorySelector.hpp : 104 -snode.c-dev : src/web/websocket/Receiver.cpp : 89 -snode.c-dev : src/web/websocket/SocketContextUpgrade.h : 180 -snode.c-dev : src/web/websocket/SocketContextUpgrade.h : 182 -snode.c-dev : src/web/websocket/SocketContextUpgrade.h : 211 -snode.c-dev : src/web/websocket/SocketContextUpgrade.h : 217 -snode.c-dev : src/web/websocket/SubProtocol.hpp : 41 -snode.c-dev : src/web/websocket/SubProtocol.hpp : 45 -snode.c-dev : src/web/websocket/SubProtocol.hpp : 116 -snode.c-dev : src/web/websocket/SubProtocolFactorySelector.h : 67 -snode.c-dev : src/web/websocket/SubProtocolFactorySelector.h : 70 -snode.c-dev : src/web/websocket/SubProtocolFactorySelector.h : 74 -snode.c-dev : src/web/websocket/SubProtocolFactorySelector.h : 79 -snode.c-dev : src/web/websocket/Transmitter.cpp : 195 snodec-forum-webapp : dbsetup.cpp : 19 snodec-forum-webapp : dbsetup.cpp : 22 snodec-forum-webapp : dbsetup.cpp : 26 @@ -1636,7 +662,6 @@ websocket-echo : subprotocol/server/echo/Echo.cpp : 85 | `simple-form-snodec` | `main` | `157c860bc91ab678658a9f8ca37f69e866bffefd` | 13 | | `snode.c` | `master` | `5d6453c21df4894083b445cce00b627e7794932a` | 92 | | `SNode.C-Book` | `main` | `3cec2ad6fb1ca226ede12c68a80c19dc8569196e` | 138 | -| `snode.c-dev` | `master` | `b75c92202f9bcaeef5a21e7688173d3ecfc84592` | 973 | | `snode.c-doc` | `main` | `bd5b09a593f982258b4b1cdae2782a8814b41da2` | 0 | | `SNode.C-Landingpages` | `main` | `9c1a7f517df96d5d2b54d332e371d35e38b1705f` | 0 | | `snodec-forum-webapp` | `main` | `20fba09d2b66a57a98a9b3812bd6c89f5d439ef0` | 80 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 24d5281fdc..710f41c531 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -216,3 +216,9 @@ install( DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/snodec COMPONENT "core" ) + +install( + FILES "${CMAKE_CURRENT_SOURCE_DIR}/SemanticLog.h" + DESTINATION include/snode.c + COMPONENT "logger" +) diff --git a/src/express/express-compat-suite/snodec/0001-add-express-compat-server.patch b/src/express/express-compat-suite/snodec/0001-add-express-compat-server.patch index 8a99401b3b..37b8f303e3 100644 --- a/src/express/express-compat-suite/snodec/0001-add-express-compat-server.patch +++ b/src/express/express-compat-suite/snodec/0001-add-express-compat-server.patch @@ -27,7 +27,7 @@ new file mode 100644 +#include "express/Response.h" +#include "express/Router.h" +#include "express/legacy/in/WebApp.h" -+#include "log/Logger.h" ++#include "SemanticLog.h" + +#include + @@ -263,16 +263,16 @@ new file mode 100644 + [](const express::legacy::in::WebApp::SocketAddress& socketAddress, const core::socket::State& state) { + switch (state) { + case core::socket::State::OK: -+ VLOG(1) << "express-compat listening on '" << socketAddress.toString() << "'"; ++ snode::semantic::appLog().info() << "express-compat listening on '" << socketAddress.toString() << "'"; + break; + case core::socket::State::DISABLED: -+ VLOG(1) << "express-compat disabled"; ++ snode::semantic::appLog().info() << "express-compat disabled"; + break; + case core::socket::State::ERROR: -+ LOG(ERROR) << "express-compat " << socketAddress.toString() << ": " << state.what(); ++ snode::semantic::appLog().error() << "express-compat " << socketAddress.toString() << ": " << state.what(); + break; + case core::socket::State::FATAL: -+ LOG(FATAL) << "express-compat " << socketAddress.toString() << ": " << state.what(); ++ snode::semantic::appLog().critical() << "express-compat " << socketAddress.toString() << ": " << state.what(); + break; + } + }); diff --git a/src/log/Logger.cpp b/src/log/Logger.cpp index 38bce567c5..bcfd5128c0 100644 --- a/src/log/Logger.cpp +++ b/src/log/Logger.cpp @@ -46,7 +46,6 @@ #include "log/SemanticLogger.h" #include "log/detail/SpdlogBackend.h" -#include #include #endif /* DOXYGEN_SHOULD_SKIP_THIS */ @@ -127,24 +126,6 @@ namespace logger { bool Logger::disableColorLog = false; - LogMessage::LogMessage(const Level level, const int verboseLevel, const bool withErrno) - : level(level) - , verboseLevel(verboseLevel) - , withErrno(withErrno) - , enabled(true) - , errnoValue(errno) { - } - - LogMessage::~LogMessage() { - if (enabled) { - backend.emitLegacy(level, message.str(), withErrno, errnoValue); - } - } - - std::ostringstream& LogMessage::stream() { - return message; - } - } // namespace logger std::ostream& Color::operator<<(std::ostream& os, const Code& code) { diff --git a/src/log/Logger.h b/src/log/Logger.h index 9a0d5412d5..f0eeafccc0 100644 --- a/src/log/Logger.h +++ b/src/log/Logger.h @@ -49,7 +49,6 @@ #include #include #include // IWYU pragma: export -#include #include #endif /* DOXYGEN_SHOULD_SKIP_THIS */ @@ -122,54 +121,6 @@ namespace logger { friend std::string Color::operator+(const Color::Code& code, const std::string& string); }; - class LogMessage { - public: - LogMessage(Level level, int verboseLevel = -1, bool withErrno = false); - ~LogMessage(); - - std::ostringstream& stream(); - - private: - Level level; - int verboseLevel; - bool withErrno; - bool enabled; - int errnoValue; - std::ostringstream message; - }; - } // namespace logger -#ifdef SNODEC_DISABLE_LOGLEVEL_LOGGING -#define LOG(level) \ - if (true) { \ - } else \ - ::logger::LogMessage(::logger::Level::level).stream() -#define PLOG(level) \ - if (true) { \ - } else \ - ::logger::LogMessage(::logger::Level::level, -1, true).stream() -#else -#define LOG(level) \ - if (!::logger::Logger::shouldLog(::logger::Level::level)) { \ - } else \ - ::logger::LogMessage(::logger::Level::level).stream() -#define PLOG(level) \ - if (!::logger::Logger::shouldLog(::logger::Level::level)) { \ - } else \ - ::logger::LogMessage(::logger::Level::level, -1, true).stream() -#endif - -#ifdef SNODEC_DISABLE_VERBOSE_LOGGING -#define VLOG(level) \ - if (true) { \ - } else \ - ::logger::LogMessage(::logger::Level::VERBOSE, level).stream() -#else -#define VLOG(level) \ - if (!::logger::Logger::shouldVerbose(level)) { \ - } else \ - ::logger::LogMessage(::logger::Level::VERBOSE, level).stream() -#endif - #endif // LOGGER_LOGGER_H diff --git a/tests/unit/log/CMakeLists.txt b/tests/unit/log/CMakeLists.txt index 1d03ae3a21..942447912d 100644 --- a/tests/unit/log/CMakeLists.txt +++ b/tests/unit/log/CMakeLists.txt @@ -25,10 +25,6 @@ snodec_add_log_test(SemanticLoggerFilteringTest) target_link_libraries(SemanticLoggerFilteringTest PRIVATE snodec-test-support snodec::net snodec::core-socket-stream) set_property(TEST SemanticLoggerFilteringTest APPEND PROPERTY LABELS "filter") -snodec_add_log_test(SemanticLoggerCompatibilityTest) -target_link_libraries(SemanticLoggerCompatibilityTest PRIVATE snodec-test-support snodec::logger) -set_property(TEST SemanticLoggerCompatibilityTest APPEND PROPERTY LABELS "compatibility;legacy") - snodec_add_log_test(SemanticLoggerDisabledPathTest) target_link_libraries(SemanticLoggerDisabledPathTest PRIVATE snodec-test-support snodec::net snodec::core-socket-stream) set_property(TEST SemanticLoggerDisabledPathTest APPEND PROPERTY LABELS "overhead") diff --git a/tests/unit/log/SemanticEndToEndOutputTest.cpp b/tests/unit/log/SemanticEndToEndOutputTest.cpp index 8eba22a88f..52bcb42470 100644 --- a/tests/unit/log/SemanticEndToEndOutputTest.cpp +++ b/tests/unit/log/SemanticEndToEndOutputTest.cpp @@ -132,23 +132,23 @@ int main() { } } - const auto legacyPath = tempLogPath("snodec-semantic-e2e-legacy.log"); + const auto helperPath = tempLogPath("snodec-semantic-e2e-helper.log"); { - LoggerStateGuard guard(legacyPath); - LOG(INFO) << "legacy info still works"; - errno = EACCES; - PLOG(ERROR) << "legacy plog still works"; + LoggerStateGuard guard(helperPath); + snode::semantic::appLog().info() << "semantic info works"; + snode::semantic::sysError(snode::semantic::appLog(), logger::LogLevel::Error, EACCES) + << "semantic system error works"; } - const auto legacyLines = readLines(legacyPath); - std::ostringstream legacyLog; - for (const auto& line : legacyLines) { - legacyLog << line << '\n'; + const auto helperLines = readLines(helperPath); + std::ostringstream helperLog; + for (const auto& line : helperLines) { + helperLog << line << '\n'; } - result.expectTrue(contains(legacyLog.str(), "INFO") && contains(legacyLog.str(), "legacy info still works"), - "legacy LOG still emits through the legacy path"); - result.expectTrue(contains(legacyLog.str(), "ERROR") && contains(legacyLog.str(), "legacy plog still works") && - contains(legacyLog.str(), "Permission denied"), - "legacy PLOG still appends errno text through the legacy path"); + result.expectTrue(contains(helperLog.str(), "INFO") && contains(helperLog.str(), "semantic info works"), + "semantic application helper emits through the backend"); + result.expectTrue(contains(helperLog.str(), "ERROR") && contains(helperLog.str(), "semantic system error works") && + contains(helperLog.str(), "Permission denied"), + "semantic sysError appends explicit error text"); std::vector identityRecords; auto identityLog = snode::semantic::coreSocketLog( diff --git a/tests/unit/log/SemanticLoggerBackendTest.cpp b/tests/unit/log/SemanticLoggerBackendTest.cpp index adcc639ef0..b51f355694 100644 --- a/tests/unit/log/SemanticLoggerBackendTest.cpp +++ b/tests/unit/log/SemanticLoggerBackendTest.cpp @@ -1,3 +1,4 @@ +#include "SemanticLog.h" #include "core/socket/SocketAddress.h" #include "core/socket/stream/SocketConnection.h" #include "core/socket/stream/SocketContext.h" @@ -166,14 +167,15 @@ int main() { LoggerStateGuard guard(semanticPath.string()); logger::Logger::emitSemantic(record(logger::LogLevel::Info, "semantic info emitted")); logger::Logger::emitSemantic(record(logger::LogLevel::Off, "semantic off hidden")); - LOG(INFO) << "legacy macro emitted"; + snode::semantic::appLog().info() << "semantic helper emitted"; } const auto semanticLog = readFile(semanticPath); result.expectTrue(semanticLog.find("INFO") != std::string::npos, "semantic info maps to legacy INFO label"); result.expectTrue(semanticLog.find("semantic info emitted") != std::string::npos, "semantic info emits through file backend"); result.expectTrue(semanticLog.find("semantic off hidden") == std::string::npos, "semantic off emits nothing"); result.expectTrue(semanticLog.find("BACKENDTICK000") != std::string::npos, "semantic emission uses legacy tick resolver pattern"); - result.expectTrue(semanticLog.find("legacy macro emitted") != std::string::npos, "legacy LOG macro still emits through backend"); + result.expectTrue(semanticLog.find("semantic helper emitted") != std::string::npos, + "semantic application helper emits through backend"); const auto filteredPath = tempLogPath("snodec-backend-filtered.log"); { diff --git a/tests/unit/log/SemanticLoggerCompatibilityTest.cpp b/tests/unit/log/SemanticLoggerCompatibilityTest.cpp deleted file mode 100644 index c35faab4a0..0000000000 --- a/tests/unit/log/SemanticLoggerCompatibilityTest.cpp +++ /dev/null @@ -1,117 +0,0 @@ -#include "log/Logger.h" -#include "log/SemanticLogger.h" -#include "tests/support/TestResult.h" - -#include -#include -#include -#include -#include -#include - -namespace { - class StateGuard { - public: - explicit StateGuard(const std::string& logFile) - : savedErrno(errno) { - logger::Logger::init(); - logger::LogManager::init(); - logger::Logger::setLogLevel(6); - logger::Logger::setVerboseLevel(0); - logger::Logger::setQuiet(true); - logger::Logger::setDisableColor(true); - logger::Logger::logToFile(logFile); - } - - ~StateGuard() { - logger::Logger::disableLogToFile(); - logger::Logger::init(); - logger::LogManager::init(); - errno = savedErrno; - } - - private: - int savedErrno; - }; - - std::filesystem::path tempLogPath(const std::string& name) { - auto path = std::filesystem::temp_directory_path() / name; - std::error_code error; - std::filesystem::remove(path, error); - std::filesystem::remove(path.string() + ".1", error); - return path; - } - - std::string readFile(const std::filesystem::path& path) { - std::ifstream input(path); - return std::string(std::istreambuf_iterator(input), std::istreambuf_iterator()); - } - - logger::LogScope scope() { - return {logger::LogOrigin::Framework, - logger::LogBoundary::System, - "compatibility.component", - "compatibility-instance", - logger::LogRole::Server, - "compatibility-connection"}; - } - - std::chrono::system_clock::time_point fixedTimestamp() { - return std::chrono::system_clock::time_point{std::chrono::seconds{1783254896}}; - } -} // namespace - -int main() { - tests::support::TestResult result; - - const auto legacyPath = tempLogPath("snodec-semantic-compatibility-legacy.log"); - { - StateGuard guard(legacyPath.string()); - LOG(INFO) << "legacy info"; - errno = EACCES; - PLOG(ERROR) << "legacy plog"; - logger::Logger::setVerboseLevel(1); - logger::Logger::setLogLevel(3); - LOG(INFO) << "numeric info hidden"; - LOG(WARNING) << "numeric warning visible"; - } - const std::string legacyLog = readFile(legacyPath); - result.expectTrue(legacyLog.find("legacy info") != std::string::npos, "legacy LOG remains functional"); - result.expectTrue(legacyLog.find("legacy plog") != std::string::npos && - legacyLog.find("Permission denied") != std::string::npos, - "legacy PLOG remains functional and preserves errno text"); - result.expectTrue(legacyLog.find("numeric info hidden") == std::string::npos && - legacyLog.find("numeric warning visible") != std::string::npos, - "legacy numeric thresholds retain their behavior"); - - const auto semanticOffPath = tempLogPath("snodec-semantic-compatibility-off.log"); - { - StateGuard guard(semanticOffPath.string()); - logger::LogManager::setGlobalLevel(logger::LogLevel::Off); - logger::LogManager::freeze(); - LOG(ERROR) << "legacy unaffected by semantic off"; - logger::BoundaryLogger::createForTest(scope(), logger::Logger::semanticSink(), logger::LogLevel::Off, fixedTimestamp) - .error("semantic filtered by off"); - } - const std::string semanticOffLog = readFile(semanticOffPath); - result.expectTrue(semanticOffLog.find("legacy unaffected by semantic off") != std::string::npos && - semanticOffLog.find("semantic filtered by off") == std::string::npos, - "semantic Off does not disable legacy output"); - - const auto coexistencePath = tempLogPath("snodec-semantic-compatibility-coexistence.log"); - { - StateGuard guard(coexistencePath.string()); - logger::LogManager::setGlobalLevel(logger::LogLevel::Trace); - logger::LogManager::freeze(); - logger::Logger::setLogLevel(2); - LOG(INFO) << "legacy info remains filtered"; - logger::BoundaryLogger::createForTest(scope(), logger::Logger::semanticSink(), logger::LogLevel::Trace, fixedTimestamp) - .info("accepted semantic info"); - } - const std::string coexistenceLog = readFile(coexistencePath); - result.expectTrue(coexistenceLog.find("legacy info remains filtered") == std::string::npos && - coexistenceLog.find("accepted semantic info") != std::string::npos, - "legacy thresholds do not re-filter accepted semantic records"); - - return result.processResult(); -} diff --git a/tests/unit/log/SemanticLoggerFilteringTest.cpp b/tests/unit/log/SemanticLoggerFilteringTest.cpp index 1c45c50b3e..0d9c00f186 100644 --- a/tests/unit/log/SemanticLoggerFilteringTest.cpp +++ b/tests/unit/log/SemanticLoggerFilteringTest.cpp @@ -178,17 +178,11 @@ int main() { logger::Logger::setLogLevel(3); logger::Logger::emitSemantic(record(logger::LogLevel::Info, "backend info hidden")); logger::Logger::emitSemantic(record(logger::LogLevel::Warn, "backend warn visible")); - LOG(INFO) << "legacy info hidden"; - LOG(WARNING) << "legacy warning visible"; } const auto gateLog = readFile(gatePath); result.expectTrue(gateLog.find("backend info hidden") != std::string::npos, "semantic records accepted by LogManager are not double-gated by Logger::setLogLevel"); result.expectTrue(gateLog.find("backend warn visible") != std::string::npos, "semantic warning still emits after semantic filtering"); - result.expectTrue(gateLog.find("legacy info hidden") == std::string::npos && - gateLog.find("legacy warning visible") != std::string::npos, - "legacy LOG macro behavior remains unchanged"); - const auto jsonPath = tempLogPath("snodec-filtering-json-format.log"); { LoggerStateGuard guard(jsonPath.string());