<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 31 Mar 2009, at 18:03, Galder Zamarreno wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br><br>Manik Surtani wrote:<br><blockquote type="cite">Hello all.<br></blockquote><blockquote type="cite">I have finished my work with the eviction code in Infinispan, here is a summary of what has happened.<br></blockquote><blockquote type="cite"> From a user perspective (including API and configuration) as well as a design overview, please have a look at<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;<a href="http://www.jboss.org/community/docs/DOC-13449">http://www.jboss.org/community/docs/DOC-13449</a><br></blockquote><br>Comment about the config, seeing as expiration is tighly linked to eviction, wouldn't it make more sense for expiration to be a subelement of eviction? i.e.<br><br>&lt;eviction strategy="FIFO" wakeupInterval="1000" maxEntries="2000"><br> &nbsp;&lt;expiration lifespan="1000" maxIdle="500" /><br>&lt;/eviction></div></blockquote><div><br></div><div>The presence of an eviction element will cause a less-efficient DataContainer to be used. &nbsp;Wasteful if you don't really care about eviction and just want to set expiration defaults. &nbsp;And they aren't tightly linked at all, except that the eviction thread would also purge expired data in the container.&nbsp;</div><br><blockquote type="cite"><div>I suppose expiration element attributes are not part of eviction element since they're primarily an optional feature and maxEntries is the main config option?</div></blockquote><div><br></div><div>maxEntries and strategy, yes.</div><br><blockquote type="cite"><div><br><br><blockquote type="cite"> From an implementation perspective, have a look at the srcs of FIFODataContainer and LRUDataContainer. &nbsp;These two classes are where everything happens. &nbsp;The javadocs should explain the details, but in a nutshell you can expect constant time operations for all puts, gets, removes, iterations. &nbsp;:-)<br></blockquote><blockquote type="cite">Feedback on the impls would be handy. &nbsp;:-)<br></blockquote><blockquote type="cite">Cheers<br></blockquote><blockquote type="cite">-- <br></blockquote><blockquote type="cite">Manik Surtani<br></blockquote><blockquote type="cite">Lead, JBoss Cache<br></blockquote><blockquote type="cite"><a href="http://www.jbosscache.org">http://www.jbosscache.org</a><br></blockquote><blockquote type="cite"><a href="mailto:manik@jboss.org">manik@jboss.org</a><br></blockquote><blockquote type="cite">------------------------------------------------------------------------<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">infinispan-dev mailing list<br></blockquote><blockquote type="cite"><a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br></blockquote><blockquote type="cite"><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br></blockquote><br>-- <br>Galder Zamarreņo<br>Sr. Software Maintenance Engineer<br>JBoss, a division of Red Hat<br></div></blockquote></div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-infinispantal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-infinispantal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div>Manik Surtani</div><div>Lead, JBoss Cache</div><div><a href="http://www.jbosscache.org">http://www.jbosscache.org</a><br><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"> </div><br></body></html>