Has anyone been sucessful in compiling the io as a separate module? I've
tried in two machines now (one running CentOS and the other one has Ubuntu
11.04) and always got the same compilation error I wrote in the previous
mail.

Thanks
Nelson R. Pérez
PS. Here's the error msg:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
DNS.cc: In member function ‘virtual int DNSProcessor::start(int)’:
DNS.cc:132:7: error: ‘SplitDNSConfig’ has not been declared
DNS.cc:134:5: error: ‘SplitDNSConfig’ has not been declared
DNS.cc: In member function ‘void DNSEntry::init(const char*, int, int,
Continuation*, DNSHandler*, int)’:
DNS.cc:261:19: error: ‘INK_NOWARN’ was not declared in this scope
-------------------------------------------------------------------------------------------------------------------------------------------------------------

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

Reply via email to