class <Http/Cache> HttpCache : public HttpApp


Inheritance:


Public Fields

Http/Cache instvar clist_
Http/Cache instvar creq_
Http/Cache instvar fid_
Http/Cache instvar id_
Http/Cache instvar node_
Http/Cache instvar ns_
Http/Cache instvar parent_
Http/Cache instvar pending_
Http/Cache instvar slist_
Http/Cache instvar stat_
Http/Cache instvar TRANSPORT_

Public Methods

Http/Cache instproc alloc-connection { client fid }
Http/Cache instproc answer-pending-requests { pageid args }
Http/Cache instproc answer-request-GET { cl pageid args }
Http/Cache instproc cache-hit { cl type pageid }
Http/Cache instproc cache-miss { cl type pageid }
Http/Cache instproc connect { server }
Http/Cache instproc disconnect { http }
Http/Cache instproc disconnect-client { client }
Http/Cache instproc disconnect-server { server }
Http/Cache instproc get-request { cl type pageid args }
Http/Cache instproc get-response-GET { server pageid args }
Http/Cache instproc init args
Http/Cache instproc is-consistent { cl type pageid }
Http/Cache instproc refetch args
Http/Cache instproc refetch-pending { cl type pageid }
Http/Cache instproc send-request { server type pageid size args }
Http/Cache instproc set-parent { server }

Inherited from HttpApp:

Public Fields

Http instvar pool_

Public Methods

Http instproc addr {}
virtual int command(int argc, const char*const* argv)
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/Cache instproc init args

Http/Cache instvar node_

Http/Cache instvar stat_

Http/Cache instproc connect { server }
It's the user's responsibility to connect clients to caches, and caches to servers. Note that a cache may connect to many other caches and servers, but it has only one parent cache

Http/Cache instproc disconnect { http }

Http/Cache instvar slist_

Http/Cache instvar clist_

Http/Cache instproc disconnect-server { server }
XXX Should add pending_ handling into disconnect

Http/Cache instvar ns_

Http/Cache instvar pending_

Http/Cache instproc disconnect-client { client }
XXX Should clean up client request states

Http/Cache instvar creq_

Http/Cache instproc set-parent { server }
Use this function to construct a cache hierarchy

Http/Cache instvar parent_

Http/Cache instproc alloc-connection { client fid }
Copied from Http/Server Let the client side to do the actual connection ($ns connect)

Http/Cache instvar TRANSPORT_

Http/Cache instvar id_

Http/Cache instvar fid_

Http/Cache instproc send-request { server type pageid size args }
Parameters different from Http/Client::send-request. This one needs size of the request because it may need to forward a client's request to a server.

Http/Cache instproc get-request { cl type pageid args }
By constructing page id as tuple (server name, page id) we build in support for multiple web servers

Http/Cache instproc cache-miss { cl type pageid }
Cache miss, get it from the server

Http/Cache instproc is-consistent { cl type pageid }
Check if page $pageid is consistent. If not, refetch the page from server.

Http/Cache instproc refetch-pending { cl type pageid }

Http/Cache instproc refetch args

Http/Cache instproc cache-hit { cl type pageid }

Http/Cache instproc get-response-GET { server pageid args }
A response may come from: (1) a missed client request,

Http/Cache instproc answer-pending-requests { pageid args }

Http/Cache instproc answer-request-GET { cl pageid args }


Direct child classes:
Http/Cache/TTL
MediaCache
HttpInvalCache

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