Class LocalVisitorSession

java.lang.Object
com.yahoo.documentapi.local.LocalVisitorSession
All Implemented Interfaces:
VisitorControlSession, VisitorSession

public class LocalVisitorSession extends Object implements VisitorSession
Local visitor session that copies and iterates through all items in the local document access. Each document must be ack'ed for the session to be done visiting, unless the destination is remote. Only document puts are sent by this session, and this is done from a separate thread.
Author:
jonmv
  • Constructor Details

    • LocalVisitorSession

      public LocalVisitorSession(LocalDocumentAccess access, VisitorParameters parameters) throws com.yahoo.document.select.parser.ParseException
      Throws:
      com.yahoo.document.select.parser.ParseException
  • Method Details

    • isDone

      public boolean isDone()
      Description copied from interface: VisitorSession
      Checks if visiting is done.
      Specified by:
      isDone in interface VisitorSession
      Returns:
      True if visiting is done (either by error or success).
    • getProgress

      public ProgressToken getProgress()
      Returns the token set in the parameters used to create this.
      Specified by:
      getProgress in interface VisitorSession
      Returns:
      The progress token.
    • getTrace

      public com.yahoo.messagebus.Trace getTrace()
      Description copied from interface: VisitorSession
      Returns the tracing information so far about the visitor.
      Specified by:
      getTrace in interface VisitorSession
      Returns:
      Returns the trace.
    • waitUntilDone

      public boolean waitUntilDone(long timeoutMs) throws InterruptedException
      Description copied from interface: VisitorSession
      Waits until visiting is done, or the given timeout (in ms) expires. Will wait forever if timeout is 0.
      Specified by:
      waitUntilDone in interface VisitorSession
      Parameters:
      timeoutMs - The maximum amount of milliseconds to wait.
      Returns:
      True if visiting is done (either by error or success).
      Throws:
      InterruptedException - If an interrupt signal was received while waiting.
    • ack

      public void ack(AckToken token)
      Description copied from interface: VisitorControlSession
      Acknowledges a response previously retrieved by the getNext method.
      Specified by:
      ack in interface VisitorControlSession
      Parameters:
      token - The ack token. You must get this from the visitor response returned by the getNext method.
    • abort

      public void abort()
      Description copied from interface: VisitorControlSession
      Aborts the session.
      Specified by:
      abort in interface VisitorControlSession
    • getNext

      public VisitorResponse getNext()
      Description copied from interface: VisitorControlSession
      Returns the next response of this session. This method returns immediately.
      Specified by:
      getNext in interface VisitorControlSession
      Returns:
      the next response, or null if no response is ready at this time
    • getNext

      public VisitorResponse getNext(int timeoutMilliseconds) throws InterruptedException
      Description copied from interface: VisitorControlSession
      Returns the next response of this session. This will block until a response is ready or until the given timeout is reached
      Specified by:
      getNext in interface VisitorControlSession
      Parameters:
      timeoutMilliseconds - the max time to wait for a response. If the number is 0, this will block without any timeout limit
      Returns:
      the next response, or null if no response becomes ready before the timeout expires
      Throws:
      InterruptedException - if this thread is interrupted while waiting
    • destroy

      public void destroy()
      Description copied from interface: VisitorControlSession
      Destroys this session and frees up any resources it has held.
      Specified by:
      destroy in interface VisitorControlSession