Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DirectD Class Reference

#include <directd.h>

Inheritance diagram for DirectD:

DirectDClient DirectDServer List of all members.

Public Member Functions

 DirectD ()
 ~DirectD ()
void listen_to (int port, int backlog=8)
int client_ready (const string &server_host, int port, const string &cmd)
int tell_server (const string &server_host, int port, const string &cmd)
bool wait_for_servers (int count, int timeout_ms=2 *60 *1000)
int server_ready (const string &client_host, int port)
int connect_to (const string &server_host, int port)
void disconnect_from (const string &server_host, int port)
void send_command (const string &cmd)

Protected Types

typedef pvector< long > PidStack
typedef pset< PT(ConnectionConnectionSet )

Protected Member Functions

void start_app (const string &cmd)
void kill_app (int index)
void kill_all ()
virtual void handle_command (const string &cmd)
void handle_datagram (NetDatagram &datagram)
void send_one_message (const string &host_name, int port, const string &message)
void check_for_new_clients ()
void check_for_datagrams ()
void check_for_lost_connection ()

Protected Attributes

QueuedConnectionManager _cm
QueuedConnectionReader _reader
ConnectionWriter _writer
QueuedConnectionListener _listener
bool _useOldStuff
PidStack _pids
ConnectionSet _connections
HANDLE _jobObject
bool _shutdown

Member Typedef Documentation

typedef pset< PT(Connection) DirectD::ConnectionSet) [protected]
 

Definition at line 161 of file directd.h.

typedef pvector< long > DirectD::PidStack [protected]
 

Definition at line 157 of file directd.h.


Constructor & Destructor Documentation

DirectD::DirectD  ) 
 

Definition at line 139 of file directd.cxx.

DirectD::~DirectD  ) 
 

Definition at line 144 of file directd.cxx.

References _cm, and _connections.


Member Function Documentation

void DirectD::check_for_datagrams  )  [protected]
 

Definition at line 405 of file directd.cxx.

References _reader, NetDatagram::dump_hex(), NetDatagram::get_address(), handle_datagram(), and nout.

void DirectD::check_for_lost_connection  )  [protected]
 

Definition at line 393 of file directd.cxx.

References _cm, _connections, QueuedConnectionManager::close_connection(), and nout.

void DirectD::check_for_new_clients  )  [protected]
 

Definition at line 430 of file directd.cxx.

References _connections, _listener, _reader, QueuedConnectionReader::add_connection(), and nout.

int DirectD::client_ready const string &  server_host,
int  port,
const string &  cmd
 

Definition at line 156 of file directd.cxx.

int DirectD::connect_to const string &  server_host,
int  port
 

Definition at line 354 of file directd.cxx.

References nout.

void DirectD::disconnect_from const string &  server_host,
int  port
 

Definition at line 378 of file directd.cxx.

References _cm, _connections, _reader, QueuedConnectionManager::close_connection(), nout, and QueuedConnectionReader::remove_connection().

void DirectD::handle_command const string &  cmd  )  [protected, virtual]
 

Reimplemented in DirectDServer.

Definition at line 316 of file directd.cxx.

void DirectD::handle_datagram NetDatagram datagram  )  [protected]
 

Definition at line 309 of file directd.cxx.

Referenced by check_for_datagrams().

void DirectD::kill_all  )  [protected]
 

Definition at line 278 of file directd.cxx.

References _pids, and nout.

void DirectD::kill_app int  index  )  [protected]
 

Definition at line 262 of file directd.cxx.

References _pids, nout, and TerminateApp().

Referenced by DirectDServer::handle_command().

void DirectD::listen_to int  port,
int  backlog = 8
 

Definition at line 419 of file directd.cxx.

References nout.

void DirectD::send_command const string &  cmd  ) 
 

Definition at line 298 of file directd.cxx.

References _connections, and _writer.

void DirectD::send_one_message const string &  host_name,
int  port,
const string &  message
[protected]
 

Definition at line 321 of file directd.cxx.

References nout.

int DirectD::server_ready const string &  client_host,
int  port
 

Definition at line 212 of file directd.cxx.

void DirectD::start_app const string &  cmd  )  [protected]
 

Definition at line 219 of file directd.cxx.

References _pids, and nout.

int DirectD::tell_server const string &  server_host,
int  port,
const string &  cmd
 

Definition at line 165 of file directd.cxx.

bool DirectD::wait_for_servers int  count,
int  timeout_ms = 2 *60 *1000
 

Definition at line 172 of file directd.cxx.


Member Data Documentation

QueuedConnectionManager DirectD::_cm [protected]
 

Definition at line 146 of file directd.h.

Referenced by check_for_lost_connection(), disconnect_from(), and ~DirectD().

ConnectionSet DirectD::_connections [protected]
 

Definition at line 162 of file directd.h.

Referenced by check_for_lost_connection(), check_for_new_clients(), disconnect_from(), DirectDClient::run_client(), send_command(), and ~DirectD().

HANDLE DirectD::_jobObject [protected]
 

Definition at line 163 of file directd.h.

QueuedConnectionListener DirectD::_listener [protected]
 

Definition at line 149 of file directd.h.

Referenced by check_for_new_clients().

PidStack DirectD::_pids [protected]
 

Definition at line 158 of file directd.h.

Referenced by kill_all(), kill_app(), and start_app().

QueuedConnectionReader DirectD::_reader [protected]
 

Definition at line 147 of file directd.h.

Referenced by check_for_datagrams(), check_for_new_clients(), and disconnect_from().

bool DirectD::_shutdown [protected]
 

Definition at line 164 of file directd.h.

Referenced by DirectDServer::handle_command(), and DirectDServer::run_server().

bool DirectD::_useOldStuff [protected]
 

Definition at line 156 of file directd.h.

ConnectionWriter DirectD::_writer [protected]
 

Definition at line 148 of file directd.h.

Referenced by send_command().


The documentation for this class was generated from the following files:
Generated on Fri May 2 01:41:01 2003 for Direct by doxygen1.3