## Class preforked_server_base

zeep::http::preforked_server_base

## Synopsis

    // In header: </home/maarten/projects/libzeep/zeep/http/preforked-server.hpp>

    class preforked_server_base {
    public:
      // member classes/structs/unions
      template<typename Server>
      struct server_constructor<void(Server::*)()> {

        // public member functions
        server * construct();
      };
      template<typename Server, typename T0>
      struct server_constructor<void(Server::*)(T0)> {

        // public member functions
         server_constructor(T0);
        server * construct();
      };
      template<typename Server, typename T0, typename T1>
      struct server_constructor<void(Server::*)(T0, T1)> {

        // public member functions
         server_constructor(T0, T1);
        server * construct();
      };
      template<typename Server, typename T0, typename T1, typename T2>
      struct server_constructor<void(Server::*)(T0, T1, T2)> {

        // public member functions
         server_constructor(T0, T1, T2);
        server * construct();
      };

      // public member functions
      void run(const std::string &, short, int);
      void start();
      void stop();
    };

## Description

### `preforked_server_base` public member functions

1.     void run(const std::string & address, short port, int nr_of_threads);

   forks child and starts listening, should be a separate thread

2.     void start();

   signal the thread it can start listening:

3.     void stop();

   stop the running thread