Interface IFetchThrottler

  • All Known Implementing Classes:
    Throttler.FetchThrottler

    public interface IFetchThrottler
    An IFetchThrottler object is meant to be used as part of a fetch cycle. It is not thread-local, and does not require access to a thread context. It thus also does not throw ManifoldCFExceptions. It is thus suitable for use in background threads, etc. These objects are typically created by IConnectionThrottler objects - they are not meant to be created directly.
    • Method Detail

      • obtainFetchDocumentPermission

        boolean obtainFetchDocumentPermission()
                                       throws java.lang.InterruptedException
        Get permission to fetch a document. This grants permission to start fetching a single document, within the connection that has already been granted permission that created this object.
        Returns:
        false if the throttler is being shut down.
        Throws:
        java.lang.InterruptedException
      • obtainFetchDocumentPermission

        boolean obtainFetchDocumentPermission​(IBreakCheck breakCheck)
                                       throws java.lang.InterruptedException,
                                              BreakException
        Get permission to fetch a document. This grants permission to start fetching a single document, within the connection that has already been granted permission that created this object.
        Returns:
        false if the throttler is being shut down.
        Throws:
        java.lang.InterruptedException
        BreakException
      • createFetchStream

        IStreamThrottler createFetchStream()
        Open a fetch stream. When done (or aborting), call IStreamThrottler.closeStream() to note the completion of the document fetch activity.
        Returns:
        the stream throttler to use to throttle the actual data access.