From 9d346aa8894e567d2871125826488c2ca181d0f5 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 Apr 2015 15:44:57 +0200 Subject: Further interface prototyping --- web/module | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'web/module') diff --git a/web/module b/web/module index d36bb26..e9787a4 100644 --- a/web/module +++ b/web/module @@ -22,6 +22,8 @@ namespace web // HTTP status code. // + // @@ Define some commonly used constants? + // using status_code = uint16_t; struct name_value @@ -92,6 +94,17 @@ namespace web write (const char* msg); }; + // The web server creates a new module instance for each request + // by copy-initializing it with the module exemplar. This way we + // achieve two things: we can freely use module data members + // without worrying about multi-threading issues and we + // automatically get started with the initial state for each + // request. If you really need to share some rw-data between + // all the modules, use static data members with appropriate + // locking. See the header in one of the web server + // directories (e.g., apache/) if you need to see the code that + // does this. + // class module { public: -- cgit v1.1