cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoff Howard <>
Subject RE: [RT]: Calculating the cache key
Date Thu, 23 May 2002 13:22:06 GMT
> > > 
> > > p[0]=fe01b342 { FileGenerator, resource="hello.xml" } 
> > p[1]=fb021431 { 
> > > XSLTTransformer, resource="layout.xsl" } p[2]=fb02542e { 
> > > XSLTTransformer, resource="skin.xsl" } p[3]=fc010000 { 
> > HtmlSerializer 
> > > }
> > 
> > 1) I just got that you are proposing a collection of compound 
> > keys -- compound meaning a bit mask/shift combination of two 
> > shorts into a compound long.  How would this work for aggregators?
> No, actually, I was suggesting an array of ints (or longs).  Each
> component has a unique ID, and that component can manage the ids it
> needs to worry about.

Yes, sorry looking back my comment wasn't clear.  What I was catching on to
was that each element of the array stored an integer which seems to be
storing two different values - one in its 2 most significant bytes for the
component, one in its two least significant bytes for the unique key within
that component space - in your example a filename.  
So, in the example above, the integer stored in p[1] is 0xfb021431 and is an
XSLTTransformer key.  The integer stored in p[2] is 0xfb02542e, also an
XSLTTransformer key, but with a different resource.  If I understood you
	p[1]>>>16 = p[2]>>>16 = 0x0000fb02 
which is a unique hash meaning "XSLTTransformer" component. And
	p[1] & 0xFFFF = 0x00001431
which is a unique hash meaning "layout.xsl".

What I was unclear of in the case of aggregators was: if your first step in
the example had been an aggregator instead of a FileGenerator, and combined
"hello.xml" and "goodbye.xml" would you combine the hash for those two
resources when creating p[0], or do you have an extra element in your array:

p[0]=fe03b342 { Aggregator, resource="hello.xml" } 
p[1]=fe03abcd { Aggregator, resource="goodbye.xml" }
p[2]=fb021431 { XSLTTransformer, resource="layout.xsl" } 
p[3]=fb02542e { XSLTTransformer, resource="skin.xsl" } 
p[4]=fc010000 { HtmlSerializer }


To unsubscribe, e-mail:
For additional commands, email:

View raw message