Archon::Utilities::Web::DefaultClient Struct Reference

Inheritance diagram for Archon::Utilities::Web::DefaultClient:

Inheritance graph
[legend]
Collaboration diagram for Archon::Utilities::Web::DefaultClient:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DefaultClient (string applicationName, string applicationVersion, string cacheRootPath, long cacheSize, int maxSockets) throw (UnexpectedException)
 ~DefaultClient ()
Ref< Response > request (Ref< Request >) throw (RequestException)

Public Attributes

string applicationName
string applicationVersion
string cacheRootPath
long cacheSize
int maxSockets
Time eventHandlerMaxIdle
Mutex mutex
bool libwwwInitialized
bool eventHandlerActive
unsigned numberOfRequests
bool terminate
Condition requestChange
Condition eventHandlerQuit

Detailed Description

Definition at line 369 of file web_client.C.


Member Function Documentation

Ref< Client::Response > Archon::Utilities::Web::DefaultClient::request Ref< Request >  request  )  throw (RequestException) [virtual]
 

Todo:
The implicit DNS lookup in HTAnchor_findAddress should be avoided since it occurs inside the Libwww mutex.
Instead we should produce an IP version of the URI before we enter the mutex. This must occur reentrant of cause (see gethostbyname_r() from glibc2). The problem is most dramatic for invalid hostnames since they take quite a while to process.

Implements Archon::Utilities::Web::Client.

Definition at line 783 of file web_client.C.

References Archon::Utilities::Web::DefaultResponse::error, Archon::SaiTestApps::Filebrowser::mutex, Archon::Utilities::Mutex::Lock::release(), Archon::Utilities::Thread::run(), Archon::Utilities::Web::DefaultResponse::waitForSetup(), and Archon::Utilities::writer.


The documentation for this struct was generated from the following file:
Generated on Sun Jul 30 22:58:20 2006 for Archon by  doxygen 1.4.4