Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

ProcessServerManager Class Reference

List of all members.

Public Member Functions

ServeraddRemoteServer (const char *domain, const char *name, const char *host, u_short port)
void clear ()
int connect (Socket *sock, Server *server)
ServerDomaincreateDomain (const char *name)
int domainServers (const char *domain)
ServerDomaingetDomain (const char *name)
u_short getInitialPort ()
int getMaxServers ()
ServergetServer (const char *domain, const char *name)
void load ()
 ProcessServerManager ()
void removeDomain (const char *domain)
void removeServer (const char *domain, const char *name)
ServerrunAndAddServer (const char *domain, const char *name, u_short port=0)
void setInitialPort (u_short port)
void setMaxServers (int max)
 ~ProcessServerManager ()

Private Member Functions

void addServer (Server *server, const char *domain, const char *name)
int runServer (Server *server, const char *path, int port=0)

Private Attributes

HashMap< string, ServerDomain * > domains
u_short initialPort
int maxServers
Mutex mutex
int nServers

Constructor & Destructor Documentation

ProcessServerManager::ProcessServerManager  ) 
 

Default constructor.

ProcessServerManager::~ProcessServerManager  ) 
 

Default destructor.


Member Function Documentation

ProcessServerManager::Server * ProcessServerManager::addRemoteServer const char *  domain,
const char *  name,
const char *  host,
u_short  port
 

Add a remote server.

Parameters:
domain The server's domain name.
name The server name.
host The host name to connect to.
port The port number to use for the connection.

void ProcessServerManager::addServer ProcessServerManager::Server server,
const char *  domain,
const char *  name
[private]
 

Add a server to the manager.

Parameters:
server The server object.
domain The server's domain.
name The server's name.

void ProcessServerManager::clear  ) 
 

Clear the used memory.

int ProcessServerManager::connect Socket sock,
ProcessServerManager::Server server
 

Get a client socket in the fCGI context structure

Parameters:
sock The socket to connect.
server The server to connect to.

ProcessServerManager::ServerDomain * ProcessServerManager::createDomain const char *  name  ) 
 

Create a new servers process domain by its name and return it.

Parameters:
name The domain name.

int ProcessServerManager::domainServers const char *  domain  ) 
 

Count how many servers are present in a domain.

Parameters:
domain The server domain.

ProcessServerManager::ServerDomain * ProcessServerManager::getDomain const char *  name  ) 
 

Get a servers process domain by its name.

Parameters:
name The domain name.

u_short ProcessServerManager::getInitialPort  ) 
 

int ProcessServerManager::getMaxServers  ) 
 

ProcessServerManager::Server * ProcessServerManager::getServer const char *  domain,
const char *  name
 

Get a server is running by its domain and name.

Parameters:
domain The domain name.
name The server name name.

void ProcessServerManager::load  ) 
 

Load the class.

void ProcessServerManager::removeDomain const char *  domain  ) 
 

Remove a domain by its name.

Parameters:
domain The domain name.

void ProcessServerManager::removeServer const char *  domain,
const char *  name
 

Remove a server by its domain and name.

Parameters:
domain The server domain.
name The server name.

ProcessServerManager::Server * ProcessServerManager::runAndAddServer const char *  domain,
const char *  path,
u_short  port = 0
 

Run and add a server to the collection.

Parameters:
domain The server's domain.
path The path to the executable.
port Port to use for the server.

int ProcessServerManager::runServer ProcessServerManager::Server server,
const char *  path,
int  port = 0
[private]
 

Run a new server.

Parameters:
server The server object.
path The path to the executable.
port The listening port.

void ProcessServerManager::setInitialPort u_short  port  ) 
 

void ProcessServerManager::setMaxServers int  max  ) 
 


Member Data Documentation

HashMap<string, ServerDomain*> ProcessServerManager::domains [private]
 

u_short ProcessServerManager::initialPort [private]
 

int ProcessServerManager::maxServers [private]
 

Mutex ProcessServerManager::mutex [private]
 

int ProcessServerManager::nServers [private]
 


Generated on Mon Jun 16 13:47:19 2008 for MyServer by  doxygen 1.3.9.1