On Mar 13, 2014, at 12:45, William Burns <mudokon...@gmail.com> wrote:

> On Thu, Mar 13, 2014 at 8:37 AM, Pedro Ruivo <pe...@infinispan.org> wrote:
>> 
>> 
>> On 03/13/2014 12:35 PM, William Burns wrote:
>>> On Thu, Mar 13, 2014 at 8:31 AM, Pedro Ruivo <pe...@infinispan.org> wrote:
>>>> Hi,
>>>> 
>>>> #1 and #2 are ok to me but, IMO, the filter package should be in commons
>>>> module
>>> 
>>> Sorry I forgot to detail why I said core.  I originally planned for
>>> commons package as well, however the KeyValueFilter class needs the
>>> Metadata class, which doesn't live in the commons package.  I didn't
>>> want to separate the 2 filter classes.  And unfortunately the Metadata
>>> class relies on other classes in core, so that isn't easy to move over
>>> either, but doable :(  WDYT?
>> 
>> can you explain why the metadata is needed? I assumed that the key and
>> the value were the only objects needed.
> 
> That is how the design doc was written up :P My guess is so that
> people if needed can filter out versioned entries or to possibly do
> some eviction magic since they can try to calculate when the entry
> would be removed.  Maybe Mircea can shed some additional light.

org.infinispan.metadata.Metadata was added in order to group all the 
information that needs to be associated with a cache entry: timestamp, expiry, 
idleTime, version but also custom external data that ISPN extension might want 
to associate with it: e.g. REST server associates MIME information: 
https://github.com/mmarkus/infinispan/blob/master/server/rest/src/main/scala/org/infinispan/rest/MimeMetadata.scala#L20-20.

Cheers,
-- 
Mircea Markus
Infinispan lead (www.infinispan.org)





_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to