class <Http/Server/Inval/Yuc> HttpYucInvalServer : public HttpInvalServer

Http server with periodic unicast heartbeat invalidations

Inheritance:


Public Fields

Http/Server/Inval/Yuc instvar enable_upd_
Http/Server/Inval/Yuc instvar hb_interval_
Http/Server/Inval/Yuc instvar id_
Http/Server/Inval/Yuc instvar node_
Http/Server/Inval/Yuc instvar ns_
Http/Server/Inval/Yuc instvar pcache_
Http/Server/Inval/Yuc instvar tlc_
Http/Server/Inval/Yuc instvar TRANSPORT_

Public Methods

void add_inv(const char *name, double mtime)
virtual int command(int argc, const char*const* argv)
Http/Server/Inval/Yuc instproc get-req-notify { pageid }
Http/Server/Inval/Yuc instproc get-request { cl type pageid args }
Http/Server/Inval/Yuc instproc get-tlc { tlc }
Http/Server/Inval/Yuc instproc handle-request-TLC { pageid args }
Http/Server/Inval/Yuc instproc heartbeat {}
HttpYucInvalServer()
Http/Server/Inval/Yuc instproc invalidate { pageid modtime }
Http/Server/Inval/Yuc instproc next-hb {}
Http/Server/Inval/Yuc instproc push-page { pageid modtime }
Http/Server/Inval/Yuc instproc set-parent-cache { cache }
Http/Server/Inval/Yuc instproc set-tlc { tlc }

Protected Fields

int Ca_
double hb_interval_
Heartbeat interval (second)
HttpUInvalAgent* inv_sender_
heartbeat methods Heartbeat/invalidation sender
InvalidationRec* invlist_
int num_inv_
int push_high_bound_

Protected Methods

InvalidationRec* get_invrec(const char *name)
HttpHbData* pack_heartbeat()
virtual void send_hb_helper(int size, AppData *data)
void send_heartbeat()

Inherited from HttpInvalServer:

Public Methods

Http/Server/Inval instproc handle-request-REF { pageid args }
Http/Server/Inval instproc modify-page { pageid }

Inherited from HttpServer:

Public Fields

Http/Server instvar clist_
Http/Server instvar fid_
Http/Server instvar modseq_
Http/Server instvar modtimes_
Http/Server instvar pgtr_
Http/Server instvar stat_

Public Methods

Http/Server instproc alloc-connection { client fid }
Http/Server instproc disconnect { client }
Http/Server instproc gen-init-modtime { id }
Http/Server instproc gen-page { pageid }
Http/Server instproc gen-pageinfo { pageid }
Http/Server instproc handle-request-GET { pageid args }
Http/Server instproc handle-request-IMS { pageid args }
Http/Server instproc init args
Http/Server instproc schedule-nextmod { time pageid }
Http/Server instproc set-page-generator { pagepool }
Http/Server instproc stale-time { pageid modtime }

Inherited from HttpApp:

Public Fields

Http instvar pool_
Http instvar slist_

Public Methods

Http instproc addr {}
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 server with periodic unicast heartbeat invalidations
HttpYucInvalServer()

virtual int command(int argc, const char*const* argv)

void add_inv(const char *name, double mtime)

HttpUInvalAgent* inv_sender_
heartbeat methods Heartbeat/invalidation sender

InvalidationRec* invlist_

int num_inv_

void send_heartbeat()

HttpHbData* pack_heartbeat()

virtual void send_hb_helper(int size, AppData *data)

InvalidationRec* get_invrec(const char *name)

int Ca_

int push_high_bound_

double hb_interval_
Heartbeat interval (second)

Http/Server/Inval/Yuc instproc set-tlc { tlc }
---------------------------------------------------------------------- (Y)et another (U)ni(C)ast invalidation server

It has a single parent cache. Whenever a page is updated in this server it informs the parent cache, which will in turn propagate the update (or invalidation) to the whole cache hierarchy. ----------------------------------------------------------------------

Http/Server/Inval/Yuc instvar tlc_

Http/Server/Inval/Yuc instproc get-tlc { tlc }

Http/Server/Inval/Yuc instproc next-hb {}

Http/Server/Inval/Yuc instvar hb_interval_

Http/Server/Inval/Yuc instproc set-parent-cache { cache }
XXX Must do this when the caching hierachy is ready

Http/Server/Inval/Yuc instvar pcache_

Http/Server/Inval/Yuc instvar TRANSPORT_

Http/Server/Inval/Yuc instvar ns_

Http/Server/Inval/Yuc instvar node_

Http/Server/Inval/Yuc instproc heartbeat {}

Http/Server/Inval/Yuc instproc get-request { cl type pageid args }

Http/Server/Inval/Yuc instproc invalidate { pageid modtime }

Http/Server/Inval/Yuc instvar id_

Http/Server/Inval/Yuc instvar enable_upd_

Http/Server/Inval/Yuc instproc push-page { pageid modtime }

Http/Server/Inval/Yuc instproc get-req-notify { pageid }

Http/Server/Inval/Yuc instproc handle-request-TLC { pageid args }


This class has no child classes.

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