Hello Ian,<br><br>I was thinking about how to integrate digger with my &quot;P2P conditional get&quot; idea.&nbsp; The steps when making certain kinds of requests for a URL (like for RSS/Atom enclosures) would roughtly be llike the followig.&nbsp; (Although configuration options would allow you to change this.)
<br><br><ol><li>Look in &quot;cache&quot; for URL.&nbsp; If in there, then get &quot;ETag&quot; or &quot;Last-Modified&quot; value.</li><li>Make an HTTP request on the server. Send a &quot;If-None-Match&quot; or &quot;If-Modified-Since&quot; &quot;conditional get&quot; if found &quot;ETag&quot; or &quot;Last-Modified&quot; from previous step.&nbsp; Also, send a &quot;X-If-No-Link&quot; for P2P protocols we understand.
</li><li>If the server sends back a &quot;304 Not Modified&quot; then we have the up to date file.&nbsp; (So we're done.&nbsp; Else....)&nbsp; If the server sends back a &quot;204 No Content&quot; then get the &quot;Link&quot; headers (the server returned) and shunt over to the &quot;preferred&quot; P2P network.&nbsp; Else get dijjer to get it.
<br></li></ol><br>Step #1 is where I wanted to look into dijjer's cache.&nbsp; (Step #2 is in there so that the publisher can provide &quot;sanctioned&quot; ways of getting the file off of P2P networks.)<br><br><br>P.S.<br><div style="margin-left: 40px;">
I don't think that the mailing list is sending all the messages/replies I've sent.&nbsp; Although the messages are in the mailing list archive, mailman -- the mailing list software -- sent 3 messages to me says it wasn't able to send (3) messages.
<br></div><br><br>See ya<br><br><br><div><span class="gmail_quote">On 2/17/06, <b class="gmail_sendername">Ian Clarke</b> &lt;<a href="mailto:ian@locut.us">ian@locut.us</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>No, Dijjer peers don't cache entire files, rather they just cache 256k blocks of files, and these are stored in a single binary file.&nbsp; Typically any given Dijjer peer would probably only be caching one block from any given file.
</div><div><br></div><div>Can you elaborate on why you might want to do this?</div><span class="sg"><div><br></div><div>Ian.</div><br></span><div><div><span class="e" id="q_109794a0d23e7cf5_3"><div>On 17 Feb 2006, at 00:09, Charles Iliya Krempeaux wrote:
</div><br></span></div><blockquote type="cite"><div><span class="e" id="q_109794a0d23e7cf5_5">Hello Ian,<br><br>Is there a way to get at dijjer's cached files besides going through it's local HTTP server?&nbsp; (I.e., with direct file I/O.)
<br><br><br>See ya<br><br><div><span class="gmail_quote">On 2/14/06, <b class="gmail_sendername"> Ian Clarke</b> &lt;<a href="mailto:ian@locut.us" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ian@locut.us
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 14 Feb 2006, at 16:38, Charles Iliya Krempeaux wrote: <br>&gt; I've been actually considering using a local HTTP server to implement
<br>&gt; things.&nbsp;&nbsp;(Which is something you are doing too.)&nbsp;&nbsp;Although I thought<br>&gt; some extra &quot;sugar&quot; was warranted, to help with (user) usabiliy and <br>&gt; developer usability.<br><br>We have added some sugar too.&nbsp;&nbsp;For example, we have javascript
<br>available on our site that can detect whether Dijjer is present on<br>the user's machine and redirect the user to a download page if it isn't. <br><br>&gt; I skimmed through the stuff on <a href="http://dijjer.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dijjer.org</a>, and I have a questions.<br>&gt; Does digger pay attention to HTTP headers?&nbsp;&nbsp;And act basically as a web<br>&gt; cache?<br><br>Yes, we have attempted to stick as closely to the HTTP protocol as <br>possible.
<br><br>&gt; For example, here's some (but not all) &quot;rules&quot; that I was planning on<br>&gt; following.... If HTTP headers &quot;say&quot; that something should NOT be<br>&gt; cached, then it should NOT be on the P2P network. 
<br><br>Yes, we obey the various HTTP no-cache headers.&nbsp;&nbsp;We consider it<br>important for Dijjer to act as much like a HTTP cache as possible so<br>that we are afforded the protection the DMCA gives to caches for<br>copyright infringement. 
<br><br>&gt;&nbsp;&nbsp; Stuff on the P2P<br>&gt; network should be removed after the date for the &quot;Expires&quot; header<br>&gt; passes?<br><br>We don't obey &quot;Expires&quot; explicitly, but since Dijjer pings the<br>original web server each-time something is downloaded to ensure that 
<br>the file is still there and hasn't changed, if it is removed from the<br>web server, it will effectively be removed from Dijjer at the same<br>instant.<br><br>&gt; Things from non-HTTP GET methods should NOT be put onto the 
<br>&gt; P2P network?&nbsp;&nbsp;Etc.<br><br>We attempt to be smart about our interaction with HTTP, if there are<br>shortcomings in this regard they will be easy to fix.<br><br></blockquote></div></span></div></blockquote></div></blockquote>
</div><br clear="all"><br>-- <br>&nbsp;&nbsp;&nbsp;&nbsp;Charles Iliya Krempeaux, B.Sc.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;charles @ <a href="http://reptile.ca">reptile.ca</a><br>&nbsp;&nbsp;&nbsp;&nbsp;supercanadian @ <a href="http://gmail.com">gmail.com</a><br><br>&nbsp;&nbsp;&nbsp;&nbsp;developer weblog: 
<a href="http://ChangeLog.ca/">http://ChangeLog.ca/</a><br>___________________________________________________________________________<br> Make Television&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://maketelevision.com/">
http://maketelevision.com/</a>