| Interface | Description | 
|---|---|
| ISharedDataIteratorSourceStateChangedListener<T> | 
 Listener for state change events of a  
SharedDataIteratorSource | 
| ISourceDataIteratorProvider<T> | 
 Provide source data iterator that is used by  
SharedDataIteratorSource | 
| Class | Description | 
|---|---|
| SharedDataIterator<T> | 
 Shared iterator shares a single  
DataIterator among several instances, each instance gives
 the impression of a separate data iterator. | 
| SharedDataIteratorSource<T> | 
 Used to create  
SharedDataIterator over a single DataIterator, the iterator source
 is in charge of mediating between the shared iterators, always only one shared iterator is
 accessing the actual iterator | 
| SharedIteratorSpaceDataSourceDecorator | 
 Decorates a  
SpaceDataSource with additional property, concurrent request for an iterator
 which is based on the same query will only open one underlying iterator against the decorates
 provider, this iterator will be shared amont the concurrent requests as if each of them has its
 own iterator. | 
| SharedIteratorSQLDataProviderDecorator<T> | 
 Decorates a  
SQLDataProvider with additional property, concurrent request for an iterator
 which is based on the same query will only open one underlying iterator against the decorates
 provider, this iterator will be shared amont the concurrent requests as if each of them has its
 own iterator. | 
| Exception | Description | 
|---|---|
| SharedDataIteratorSourceClosedException | 
 Thrown when an operation on a  
SharedDataIteratorSource is executed when it is closed and
 it cannot accept it | 
| SharedDataIteratorSourceExpiredException | 
 Thrown when an operation on a  
SharedDataIteratorSource is executed when it has expired
 and it cannot accept it | 
Copyright © GigaSpaces.