class <Http/Client> HttpClient : public HttpApp


Inheritance:


Public Fields

Http/Client instvar cache_
Http/Client instvar curpage_
Http/Client instvar hb_interval_
Http/Client instvar id_
Http/Client instvar marks_
Http/Client instvar mpush_refresh_
Http/Client instvar nextreq_
Http/Client instvar node_
Http/Client instvar ns_
Http/Client instvar pending_
Http/Client instvar pgtr_
Http/Client instvar rvInterPage_
Http/Client instvar simStartTime_
Http/Client instvar slist_
Http/Client instvar stat_
Http/Client instvar status_

Public Methods

Http/Client instproc disconnect { server }
Http/Client instproc gen-request {}
Http/Client instproc get-response-GET { server pageid args }
Http/Client instproc get-response-IMS { server pageid args }
Http/Client instproc get-response-REF { server pageid args }
Http/Client instproc init args
Http/Client instproc mark-request { pageid }
Http/Client instproc mark-response { pageid }
Http/Client instproc next-request { server pageid }
Http/Client instproc populate { cache server }
Http/Client instproc request-mpush { page }
Http/Client instproc send-refresh-mpush { page }
Http/Client instproc send-request { server type pageid args }
Http/Client instproc set-cache { cache }
Http/Client instproc set-interval-generator { ranvar }
Http/Client instproc set-page-generator { pagepool }
Http/Client instproc start { cache server }
Http/Client instproc start-session { cache server }
Http/Client instproc stop-mpush { page }
Http/Client instproc stop-session { server }

Inherited from HttpApp:

Public Fields

Http instvar fid_
Http instvar pool_
Http instvar TRANSPORT_

Public Methods

Http instproc addr {}
virtual int command(int argc, const char*const* argv)
Http instproc connect { server }
Http instproc create-pagepool {}
Http instproc get-cachesize {}
Http instproc get-hbsize {}
Http instproc get-imssize {}
Http instproc get-invsize {}
Http instproc get-joinsize {}
Http instproc get-mpusize {}
Http instproc get-ntfsize {}
Http instproc get-pfsize {}
Http instproc get-refsize {}
Http instproc get-reqsize {}
virtual AppData* get_data(int&, AppData*)
Http instproc getfid {}
int id()
void log(const char *fmt, ...)
virtual void process_data(int size, AppData* d)
Http instproc set-cachesize { size }
Http instproc stat { name }

Protected Fields

Tcl_Channel log_
ClientPagePool* pool_
Tcl_HashTable* tpa_

Protected Methods

int add_cnc(HttpApp *client, TcpApp *agt)
void delete_cnc(HttpApp *client)
TcpApp* lookup_cnc(HttpApp *client)
void set_pagepool(ClientPagePool* pp)

Inherited from Process:

Public Methods

virtual void send_data(int size, AppData* data = 0)
inline Process*& target()

Protected Fields

Process* target_

Documentation

Http/Client instproc init args

Http/Client instvar node_

Http/Client instvar stat_

Http/Client instproc disconnect { server }
XXX Assume that it's always client disconnects from server, not vice versa

Http/Client instvar ns_

Http/Client instvar slist_

Http/Client instvar cache_

Http/Client instproc send-request { server type pageid args }
Meta-data to be sent in a request XXX pageid should always be given from the users, because client may connect to a cache, hence it doesn't know the server name.

Http/Client instvar pending_

Http/Client instvar simStartTime_

Http/Client instproc mark-request { pageid }

Http/Client instvar marks_

Http/Client instproc get-response-GET { server pageid args }
The reason that "type" is here is for Http/Cache to work. Client doesn't check the reason of the response

Http/Client instvar id_

Http/Client instproc mark-response { pageid }

Http/Client instproc get-response-REF { server pageid args }

Http/Client instproc get-response-IMS { server pageid args }

Http/Client instproc set-page-generator { pagepool }
Generate the time when next request will occur It's either a TracePagePool or a MathPagePool

XXX both TracePagePool and MathPagePool should share the same C++ interface and OTcl interface

Http/Client instvar pgtr_

Http/Client instproc set-interval-generator { ranvar }

Http/Client instvar rvInterPage_

Http/Client instproc gen-request {}
XXX PagePool::gen-pageid{} *MUST* precede gen-req-itvl{}, because the former may responsible for loading a new page from the trace file if PagePool/ProxyTrace is used

Http/Client instproc next-request { server pageid }

Http/Client instvar nextreq_

Http/Client instproc set-cache { cache }

Http/Client instproc start-session { cache server }
Assuming everything is setup, this function starts sending requests Sending a request to $cache, the original page should come from $server

Populate a cache with all available pages XXX how would we distribute pages spatially when we have a hierarchy of caches? Or, how would we distribute client requests spatially? It should be used in single client, single cache and single server case *ONLY*.

Http/Client instproc stop-session { server }
Stop sending further requests, and clean all pending requests

Http/Client instproc populate { cache server }

Http/Client instvar curpage_

Http/Client instvar status_

Http/Client instproc start { cache server }

Http/Client instproc request-mpush { page }

Http/Client instvar mpush_refresh_

Http/Client instvar hb_interval_

Http/Client instproc send-refresh-mpush { page }

Http/Client instproc stop-mpush { page }
XXX We use explicit teardown.


Direct child classes:
Http/Client/Compound
MediaClient

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

Adapted for the NS documentation page

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de