libt2n: (gerd) make handle-function on server reentrant
[libt2n] / src / command_server.hxx
index c86b285..c839e78 100644 (file)
@@ -33,6 +33,8 @@ class command_server
 
         void handle_packet(const std::string& packet, server_connection* conn);
 
+        int guard_handle;
+
     protected:
         virtual command* cast_command(command* input)
             { return input; }
@@ -43,6 +45,9 @@ class command_server
         void handle(long long usec_timeout=-1, long long* usec_timeout_remaining=NULL);
 
         void send_hello(unsigned int conn_id);
+
+        std::ostream* get_logstream(log_level_values level)
+            { return s.get_logstream(level); }
 };
 
 template<class T, class B> struct Derived_from {
@@ -50,7 +55,10 @@ template<class T, class B> struct Derived_from {
         Derived_from() { void(*p)(T*) = constraints; }
 };
 
-/// server handling group of incoming commands
+/** @brief server handling group of incoming commands
+
+    the template must be derived from libt2n::command.
+*/
 template<class COMMAND_GROUP>
 class group_command_server : public command_server
 {