com.bigdata.service.proxy
Interface RemoteAsynchronousIterator<E>

Type Parameters:
E - The generic type of the elements visited by the source iterator.
All Superinterfaces:
Remote
All Known Implementing Classes:
RemoteAsynchronousIteratorImpl

public interface RemoteAsynchronousIterator<E>
extends Remote

Remote interface declaring the API of IAsynchronousIterator but also declaring that each methods throws IOException in order to be compatible with Remote and Exporter. Of course, this means that this interface can not extend IAsynchronousIterator!

Note: In practice, IAsynchronousIterators are declared with an array type. There are two main uses: transferring IBindingSet[]s between JoinTasks and transferring ISolution[]s from the last join dimension back to the client.

Version:
$Id: RemoteAsynchronousIterator.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Nested Class Summary
static interface RemoteAsynchronousIterator.RemoteElement<E>
          Used to send an serialized element together with the object that knows how to de-serialize the element.
 
Method Summary
 void close()
           
 boolean hasNext()
           
 boolean hasNext(long timeout, TimeUnit unit)
           
 boolean isExhausted()
           
 E next()
           
 E next(long timeout, TimeUnit unit)
           
 RemoteAsynchronousIterator.RemoteElement<E> nextElement()
          Method applies a custom serializer to the value returned by next() and returns a RemoteAsynchronousIterator.RemoteElement that can be transported by RMI and which knows how to de-serialize the element on the other end.
 void remove()
           
 

Method Detail

hasNext

boolean hasNext()
                throws IOException
Throws:
IOException
See Also:
Iterator.hasNext()

next

E next()
       throws IOException
Throws:
IOException
See Also:
Iterator.next()

nextElement

RemoteAsynchronousIterator.RemoteElement<E> nextElement()
                                                        throws IOException
Method applies a custom serializer to the value returned by next() and returns a RemoteAsynchronousIterator.RemoteElement that can be transported by RMI and which knows how to de-serialize the element on the other end.

Returns:
Throws:
IOException

remove

void remove()
            throws IOException
Throws:
IOException
See Also:
Iterator.remove()

close

void close()
           throws IOException
Throws:
IOException
See Also:
ICloseableIterator.close()

isExhausted

boolean isExhausted()
                    throws IOException
Throws:
IOException
See Also:
IAsynchronousIterator.isExhausted()

hasNext

boolean hasNext(long timeout,
                TimeUnit unit)
                throws IOException,
                       InterruptedException
Throws:
IOException
InterruptedException
See Also:
IAsynchronousIterator.hasNext(long, TimeUnit)

next

E next(long timeout,
       TimeUnit unit)
       throws IOException,
              InterruptedException
Throws:
IOException
InterruptedException
See Also:
IAsynchronousIterator.next(long, TimeUnit)


Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.