Thanks John, I tried to compile with the standalone iocore but after doing configure --enable-standalone-iocore as you said, when I type make I get this error: -------------------------------------------------------------------------------------------------------------------------------------------------------- DNS.cc: In member function ‘virtual int DNSProcessor::start(int)’: DNS.cc:132: error: ‘SplitDNSConfig’ has not been declared DNS.cc:134: error: ‘SplitDNSConfig’ has not been declared DNS.cc: In member function ‘void DNSEntry::init(const char*, int, int, Continuation*, DNSHandler*, int)’: DNS.cc:261: error: ‘INK_NOWARN’ was not declared in this scope -------------------------------------------------------------------------------------------------------------------------------------------------------- This is both in 2.1.7 and 2.1.8.
I tried to fix it by looking for the declarations of SplitDNSConfig but then I had more problems.. What can I do? Thanks Nelson R. Pérez On Tue, May 10, 2011 at 7:36 PM, John Plevyak <jplev...@acm.org> wrote: > I really need to generate some documentation on this. > > The structure of the cache is a cyclone buffer (circular buffer). > Documents over 2MB are broken into fragments. The 'head' > (which for HTTP includes a vector of headers for the alternate versions > of documents (think encodings in your case) appears at the "end", so > any document which has a "head" and a "first" fragment has all the > fragments in the cache. > > The "directory" is highly optimized hash from CacheKey (MD5) to > offset, size pairs for fragments. For multi-fragment documents the head > contains a map from offsets -> CacheKeys for the fragments. > > Is it possible to read from outside.... on a fully synced system which > isn't running, yes. On a running system, it would be very hard as > (like any file system) the disk image not completely in sync with the > in-core directory and the cache deletes and updates documents and will > evacuate (think log cleaning) fragments which are in use but > about to be overwritten. On restart from a unclean shutdown (frankly the > normal kind if you are like me and use control-c to shut it down, the > disk image needs to be brought back to consistency on startup which > requires > running through the log of writes. > > You would be better off just writing your code within ATS or using the > iocore > as a separate module via configure --enable-standalone-iocore > > As of 2.1.8 the cache should work very well for video content as it > supports > 2MB fragments and large disks efficiently. 2.0.1 breaks documents into 32K > chunks and disks into 8GB chunks which is terrible for video. > > You could either do video over HTTP or write your own protocol handler. At > some point > I'll release an example of that. > > john > > > > On Tue, May 10, 2011 at 2:44 PM, Nelson Perez <bilt...@gmail.com> wrote: > > > Hi there, I would like to learn more details about the cache > > structure. Specially is it possible for an outside process to somehow > > have read access to it? for what I know it is supposed to be a huge > > hash table, so given the right permissions and an offset would it be > > possible to extract usable data from the cache file directly? > > > > Also since I'm mostly interested in caching video content, I would > > like to know if TS cache mechanism may pose any drawback for possibly > > large files. > > > > Thanks a lot. > > Nelson R. Pérez > > >