Http cache with periodic multicast heartbeat invalidation
Http/Cache/Inval/Mcast instvar creq_ |
Http/Cache/Inval/Mcast instvar hb_interval_ |
Http/Cache/Inval/Mcast instvar id_ |
Http/Cache/Inval/Mcast instvar invalListener_ |
Http/Cache/Inval/Mcast instvar invalSender_ |
Http/Cache/Inval/Mcast instvar invListenGroup_ |
Http/Cache/Inval/Mcast instvar invSndGroup_ |
Http/Cache/Inval/Mcast instvar marks_ |
Http/Cache/Inval/Mcast instvar mpush_refresh_ |
Http/Cache/Inval/Mcast instvar node_ |
Http/Cache/Inval/Mcast instvar ns_ |
Http/Cache/Inval/Mcast instvar parent_ |
Http/Cache/Inval/Mcast instvar pending_ |
Http/Cache/Inval/Mcast instvar tlcAgent_ |
Http/Cache/Inval/Mcast instvar tlcGroup_ |
Http/Cache/Inval/Mcast instvar TRANSPORT_ |
Http/Cache/Inval/Mcast instvar updListener_ |
Http/Cache/Inval/Mcast instvar updListenGroup_ |
Http/Cache/Inval/Mcast instvar updSender_ |
Http/Cache/Inval/Mcast instvar updSendGroup_ |
void add_inv(const char *name, double mtime) |
Http/Cache/Inval/Mcast instproc cache-miss { cl type pageid } |
Http/Cache/Inval/Mcast instproc cancel-mpush-refresh { page } |
virtual int command(int argc, const char*const* argv) |
Http/Cache/Inval/Mcast instproc get-req-notify { pageid } |
Http/Cache/Inval/Mcast instproc get-request { cl type pageid args } |
Http/Cache/Inval/Mcast instproc get-response-GET { server pageid args } |
Http/Cache/Inval/Mcast instproc get-response-TLC { server pageid tlc } |
void handle_node_failure(int cid) |
HttpMInvalCache() |
Http/Cache/Inval/Mcast instproc init args |
Http/Cache/Inval/Mcast instproc init-inval-group { group } |
Http/Cache/Inval/Mcast instproc init-update-group { group } |
Http/Cache/Inval/Mcast instproc invalidate { pageid modtime } |
void invalidate_server(int sid) |
Http/Cache/Inval/Mcast instproc join-inval-group { group } |
Http/Cache/Inval/Mcast instproc join-tlc-group { group } |
Http/Cache/Inval/Mcast instproc join-update-group { group } |
Http/Cache/Inval/Mcast instproc leave-update-group {} |
Http/Cache/Inval/Mcast instproc parent-cache { server } |
virtual void process_data(int size, AppData* data) |
Http/Cache/Inval/Mcast instproc push-update { pageid args } |
Http/Cache/Inval/Mcast instproc refetch { cl type pageid } |
Http/Cache/Inval/Mcast instproc refresh-mpush { page } |
Http/Cache/Inval/Mcast instproc request-mpush { page } |
Http/Cache/Inval/Mcast instproc send-refresh-mpush { cache page } |
Http/Cache/Inval/Mcast instproc send-req-notify { pageid } |
Http/Cache/Inval/Mcast instproc server-join { server cache } |
Http/Cache/Inval/Mcast instproc set-parent { parent } |
Http/Cache/Inval/Mcast instproc setup-unicast-hb {} |
Http/Cache/Inval/Mcast instproc stop-mpush { page } |
virtual void timeout(int reason) |
virtual ~HttpMInvalCache() |
struct SState |
SState(NeighborCache* c) |
int is_down() |
void down() |
void up() |
NeighborCache* cache() |
int down_ |
NeighborCache* cache_ |
int Ca_ |
static HttpMInvalCache** CacheRepository_ |
int enable_upd_ |
double hb_interval_ |
HBTimer hb_timer_ |
HttpUInvalAgent* inv_parent_ |
HttpInvalAgent** inv_sender_ |
InvalidationRec* invlist_ |
Tcl_HashTable nbr_ |
int num_inv_ |
int num_sender_ |
int num_updater_ |
static int NumCache_ |
int push_high_bound_ |
int size_sender_ |
int size_updater_ |
Tcl_HashTable sstate_ |
HttpInvalAgent** upd_sender_ |
static void add_cache(HttpMInvalCache* c) |
void add_nbr(HttpMInvalCache* c) |
void add_sstate(int sid, SState* sst) |
void add_update(const char *name, double mtime) |
void check_sstate(int sid, int cid) |
InvalidationRec* get_invrec(const char *name) |
NeighborCache* lookup_nbr(int id) |
SState* lookup_sstate(int sid) |
static HttpMInvalCache* map_cache(int id) |
HttpHbData* pack_heartbeat() |
HttpUpdateData* pack_upd(ClientPage *pg) |
virtual void process_inv(int n, InvalidationRec *ivlist, int cache) |
void recv_heartbeat(int id) |
int recv_inv(HttpHbData *d) |
virtual int recv_inv_filter(ClientPage* pg, InvalidationRec *p) |
void recv_leave(HttpLeaveData *d) |
int recv_upd(HttpUpdateData *d) |
virtual void send_hb_helper(int size, AppData *data) |
void send_heartbeat() |
void send_leave(HttpLeaveData *d) |
void send_upd(ClientPage *pg) |
virtual void send_upd_helper(int pgsize, AppData* data) |
struct SState |
SState(NeighborCache* c) |
int is_down() |
void down() |
void up() |
NeighborCache* cache() |
int down_ |
NeighborCache* cache_ |
Http/Cache/Inval instproc answer-request-REF { cl pageid args } |
Http/Cache/Inval instproc get-response-REF { server pageid args } |
Http/Cache/Inval instproc is-consistent { cl type pageid } |
Http/Cache/Inval instproc mark-invalid {} |
Http/Cache/Inval instproc mark-leave {} |
Http/Cache/Inval instproc mark-rejoin {} |
Http/Cache/Inval instproc mark-valid {} |
Http/Cache/Inval instproc refetch-pending { cl type pageid } |
Http/Cache instvar clist_ |
Http/Cache instvar fid_ |
Http/Cache instvar slist_ |
Http/Cache instvar stat_ |
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 connect { server } |
Http/Cache instproc disconnect { http } |
Http/Cache instproc disconnect-client { client } |
Http/Cache instproc disconnect-server { server } |
Http/Cache instproc send-request { server type pageid size args } |
Http instvar pool_ |
Http instproc addr {} |
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, ...) |
Http instproc set-cachesize { size } |
Http instproc stat { name } |
Tcl_Channel log_ |
ClientPagePool* pool_ |
Tcl_HashTable* tpa_ |
int add_cnc(HttpApp *client, TcpApp *agt) |
void delete_cnc(HttpApp *client) |
TcpApp* lookup_cnc(HttpApp *client) |
void set_pagepool(ClientPagePool* pp) |
Process* target_ |
Http cache with periodic multicast heartbeat invalidation
We should ask our parent in the virtual distribution tree
of the corresponding web server, instead of our parent in the
cache hierarchy.
Top-Level Caches (TLCs) need to exchange invalidations with each other,
so they are both sender and receiver in this multicast group.
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