Hi Tim,

+1
I think this is a very good idea. The only recommendation I have is to work
on this after ManagedState is reviewed and merged to Malhar.
IMO an interface needs to be backed by multiple implementations (at least
one).  The AddressableState ( Store is too generic, just nitpicking) needs
an implementation which can be an extension of ManagedStateImpl.

The example you provided is of a SpooledList rather than a SpooledArray
(again nitpicking :-) ).

Chandni


On Tue, Dec 8, 2015 at 12:00 PM, Timothy Farkas <[email protected]> wrote:

> There's a bug :)
>
> should be
>
>   public void add(VALUE value)
>   {
>     addressableStore.set(size, value);
>     size++;
>   }
>
> On Tue, Dec 8, 2015 at 11:57 AM, Timothy Farkas <[email protected]>
> wrote:
>
> > Hi all,
> >
> > There is currently a need for Spooled Lists and Heaps. I'd like to be
> able
> > to leverage Chandni's large state management or other key value stores
> > without changing the list or heap implementation. In order to do this I'd
> > like a Store interface which can be passed to a Spooled Data structure
> and
> > used transparently. I was thinking the following for an interface
> >
> > public interface AddressableStore<VALUE>
> > {
> >   public VALUE get(long address);
> >   public void set(long address, VALUE value);
> >   public void free(long address);
> > }
> >
> > A data structure would then take this and use it to store it's data
> >
> >   public SpooledArray(AddressableStore<VALUE> addressableStore)
> >   {
> >     this.addressableStore = Preconditions.checkNotNull(addressableStore);
> >   }
> >
> >   public void add(VALUE value)
> >   {
> >     size++;
> >     addressableStore.set(size, value);
> >   }
> >
> > Thoughts?
> >
> > Thanks,
> > Tim
> >
>

Reply via email to