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

ConnectionManager Class Reference

#include <connectionManager.h>

Inheritance diagram for ConnectionManager:

QueuedConnectionManager List of all members.

Protected Types

typedef pset< PT(ConnectionConnections )
typedef pset< ConnectionReader * > Readers
typedef pset< ConnectionWriter * > Writers

Protected Member Functions

void new_connection (const PT(Connection)&connection)
virtual void connection_reset (const PT(Connection)&connection)=0
void add_reader (ConnectionReader *reader)
void remove_reader (ConnectionReader *reader)
void add_writer (ConnectionWriter *writer)
void remove_writer (ConnectionWriter *writer)

Protected Attributes

Connections _connections
Readers _readers
Writers _writers
PRLock * _set_mutex

Private Member Functions

virtual ~ConnectionManager ()
 PT (Connection) open_UDP_connection(int port=0)
 PT (Connection) open_TCP_server_rendezvous(int port
 PT (Connection) open_TCP_client_connection(const NetAddress &address
 PT (Connection) open_TCP_client_connection(const string &hostname
bool close_connection (const PT(Connection)&connection)

Static Private Member Functions

string get_host_name ()

Private Attributes

PUBLISHED __pad0__: ConnectionManager()
int backlog
int timeout_ms
int port
int int timeout_ms

Friends

class ConnectionReader
class ConnectionWriter
class ConnectionListener
class Connection

Member Typedef Documentation

typedef pset< PT(Connection) ConnectionManager::Connections) [protected]
 

Definition at line 77 of file connectionManager.h.

typedef pset<ConnectionReader *> ConnectionManager::Readers [protected]
 

Definition at line 78 of file connectionManager.h.

typedef pset<ConnectionWriter *> ConnectionManager::Writers [protected]
 

Definition at line 79 of file connectionManager.h.


Constructor & Destructor Documentation

ConnectionManager::~ConnectionManager  )  [private, virtual]
 

Definition at line 49 of file connectionManager.cxx.

References _readers, _set_mutex, and _writers.


Member Function Documentation

void ConnectionManager::add_reader ConnectionReader reader  )  [protected]
 

Definition at line 312 of file connectionManager.cxx.

References _readers, _set_mutex, and reader().

void ConnectionManager::add_writer ConnectionWriter writer  )  [protected]
 

Definition at line 338 of file connectionManager.cxx.

References _set_mutex, _writers, and writer().

bool ConnectionManager::close_connection const PT(Connection)&  connection  )  [private]
 

Definition at line 236 of file connectionManager.cxx.

References _connections, _readers, _set_mutex, Connection::get_socket(), and pprerror().

virtual void ConnectionManager::connection_reset const PT(Connection)&  connection  )  [protected, pure virtual]
 

Implemented in QueuedConnectionManager.

Referenced by Connection::check_send_error(), ConnectionReader::get_next_available_socket(), ConnectionReader::process_incoming_tcp_data(), ConnectionReader::process_incoming_udp_data(), ConnectionReader::process_raw_incoming_tcp_data(), and ConnectionReader::process_raw_incoming_udp_data().

string ConnectionManager::get_host_name  )  [static, private]
 

Definition at line 280 of file connectionManager.cxx.

void ConnectionManager::new_connection const PT(Connection)&  connection  )  [protected]
 

Definition at line 299 of file connectionManager.cxx.

References _connections, and _set_mutex.

Referenced by ConnectionListener::process_incoming_data().

ConnectionManager::PT Connection   )  const [private]
 

ConnectionManager::PT Connection   )  const [private]
 

ConnectionManager::PT Connection   )  [private]
 

ConnectionManager::PT Connection   )  [private, pure virtual]
 

void ConnectionManager::remove_reader ConnectionReader reader  )  [protected]
 

Definition at line 325 of file connectionManager.cxx.

References _readers, _set_mutex, and reader().

Referenced by ConnectionReader::~ConnectionReader().

void ConnectionManager::remove_writer ConnectionWriter writer  )  [protected]
 

Definition at line 351 of file connectionManager.cxx.

References _set_mutex, _writers, and writer().

Referenced by ConnectionWriter::~ConnectionWriter().


Friends And Related Function Documentation

friend class Connection [friend]
 

Definition at line 89 of file connectionManager.h.

friend class ConnectionListener [friend]
 

Definition at line 88 of file connectionManager.h.

friend class ConnectionReader [friend]
 

Definition at line 86 of file connectionManager.h.

friend class ConnectionWriter [friend]
 

Definition at line 87 of file connectionManager.h.


Member Data Documentation

PUBLISHED ConnectionManager::__pad0__ [private]
 

Reimplemented in QueuedConnectionManager.

Definition at line 53 of file connectionManager.h.

Connections ConnectionManager::_connections [protected]
 

Definition at line 80 of file connectionManager.h.

Referenced by close_connection(), and new_connection().

Readers ConnectionManager::_readers [protected]
 

Definition at line 81 of file connectionManager.h.

Referenced by add_reader(), close_connection(), remove_reader(), and ~ConnectionManager().

PRLock* ConnectionManager::_set_mutex [protected]
 

Definition at line 83 of file connectionManager.h.

Referenced by add_reader(), add_writer(), close_connection(), new_connection(), remove_reader(), remove_writer(), and ~ConnectionManager().

Writers ConnectionManager::_writers [protected]
 

Definition at line 82 of file connectionManager.h.

Referenced by add_writer(), remove_writer(), and ~ConnectionManager().

int ConnectionManager::backlog [private]
 

Definition at line 58 of file connectionManager.h.

int ConnectionManager::port [private]
 

Definition at line 61 of file connectionManager.h.

int int ConnectionManager::timeout_ms [private]
 

Definition at line 61 of file connectionManager.h.

int ConnectionManager::timeout_ms [private]
 

Definition at line 60 of file connectionManager.h.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:42 2003 for Panda by doxygen1.3