See
<http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/squid/squid/src/Attic/peer_monitor.c?only_with_tag=rproxy&hideattic=0>
for a more isolated example of how to fetch content from within Squid.
-- Henrik Nordstrom Squid Hacker ªL^¶W wrote: > > Dear all: > I am trying to implement Diff Cache Digest .But now I meet some > problems. > > My problem is that it is difficult to transfer Cache Digest Diff among > squid proxy server .... > > I try to register a StoreEntry like storeDigestRewriteStart() and > storeDigestRewriteResume() do. > > but I don't know how to let it's peers get the Cache Digest Diff because > the peerDigestFetchReply() > > peerDigestSwapInHeaders(),peerDigestSwapInCBlock(),peerDigestSwapInMask() > is much more > > complicated, and it's not easy to modify it ...... > > Can any one tell me a convient way to transfer Cache Digest Diff ????? > > Thankx in advance ...... > > storeDigestRewriteStart() > { > ----------snip--------------- > > #ifdef DIFF_DIGESTS > debug(71, 2) ("diffDigestRewrite: start rewrite #%d\n", > sd_state.rewrite_count + 1); > /* make new diff digest entry */ > url2 = internalLocalUri("/squid-internal-periodic/", > DiffDigestFileName); > flags2 = null_request_flags; > flags2.cachable = 1; > dd_state.rewrite_lock = e2 = storeCreateEntry(url2, url2, flags2, > METHOD_GET); > #endif > ------------snip--------------- > } > > storeDigestRewriteResume() > { > ------------------------snip------------------- > #ifdef DIFF_DIGESTS > dd_state.rewrite_offset = 0; > EBIT_SET(e2->flags, ENTRY_SPECIAL); > /* setting public key will purge old digest entry if any */ > storeSetPublicKey(e2); > /* fake reply */ > httpReplyReset(e2->mem_obj->reply); > httpReplySetHeaders(e2->mem_obj->reply, 1.0, 200, "Cache Digest OK", > "application/cache-digest", diff_digest->mask_size + > sizeof(sd_state.cblock), > squid_curtime, squid_curtime + Config.digest.rewrite_period); > debug(71, 3) ("DiffDigestRewrite: entry expires on %d (%+d)\n", > e2->mem_obj->reply->expires, e2->mem_obj->reply->expires - > squid_curtime); > storeBuffer(e2); > httpReplySwapOut(e2->mem_obj->reply, e2); > storeDigestCBlockSwapOut(e2); > storeBufferFlush(e2); > > #endif > ----------------------snip------------------ > }Received on Sat May 05 2001 - 14:43:19 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:59 MST