It may sound a bit extreme but what about using streams as the base interface and converting values to streams asap ?<div><br><div>The conversion could be seen as the marshaling operation and the result as a stream of bytes ?<br>
<div><br></div><div>The &#39;base&#39; interface would be as simple as:</div><div>OutputStream&lt;byte[]&gt; get(K)</div><div>put(K, InputStream&lt;byte[]&gt;)</div><div><br></div><div>the Map&lt;K,V&gt; facade simply &#39;marshalls&#39; values to byte arrays and calls the &#39;base&#39; interface.</div>
<div><br></div><div>This way, you get rid of any buffering from the very beginning and give streams to cache stores... (You actually replace byte arrays by piped(in/out)putstreams in your futures)... </div><div><br></div>
<div>Btw, I can assure you that some cache store maintainers will be super happy to receive and produce streams ;-)</div><div><br></div><div>my 2 cents...</div><div><br></div><div>phil</div><div><br></div><div><br><div class="gmail_quote">
On Tue, May 18, 2010 at 3:59 PM, Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I have put together a brief design for ISPN-78.  Please take a look, it is on the wiki:<br>
<br>
        <a href="https://community.jboss.org/wiki/LargeObjectSupport" target="_blank">https://community.jboss.org/wiki/LargeObjectSupport</a><br>
<br>
I have also deferred ISPN-78 to 5.0.0 rather than 4.1.0 as I&#39;d rather not hold up 4.1.0 for new features at this stage.<br>
<br>
Please have a look at the designs and let me know what you think - or comment on the wiki page.<br>
<br>
Cheers<br>
Manik<br>
--<br>
Manik Surtani<br>
<a href="mailto:manik@jboss.org">manik@jboss.org</a><br>
Lead, Infinispan<br>
Lead, JBoss Cache<br>
<a href="http://www.infinispan.org" target="_blank">http://www.infinispan.org</a><br>
<a href="http://www.jbosscache.org" target="_blank">http://www.jbosscache.org</a><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
</blockquote></div><br></div></div></div>