Interface MirrorSyncCallback


public interface MirrorSyncCallback
Describes a callback for receiving streaming ref changes.

Implementations of this callback performing internal paging may return false from onRefChange(RefChange) to indicate no more ref changes are desired. Such implementations are encouraged to also implement the PagedCallback interface to allow the system to optimise output handling, where possible, based on the page being requested.

Since:
4.1
  • Method Details

    • onEnd

      default void onEnd(@Nonnull MirrorSyncSummary summary) throws IOException
      Called after the final ref change has been streamed.

      Note: If there were no ref changes, this method may be called immediately after onStart(MirrorSyncContext) without any calls to onRefChange(RefChange).

      Parameters:
      summary - summarizes the request and the streamed changes
      Throws:
      IOException - may be thrown by implementations which perform I/O
    • onFailedRef

      default boolean onFailedRef(@Nonnull MinimalRef ref) throws IOException
      Called when a ref failed to synchronize.

      If the callback is performing internal paging, it may signal the end of the page by returning false here.

      Parameters:
      ref - the ref that failed
      Returns:
      true if additional ref changes should be provided; otherwise, false if the callback has received as many ref changes as desired
      Throws:
      IOException - may be thrown by implementations which perform I/O
      Since:
      4.2
    • onRefChange

      default boolean onRefChange(@Nonnull RefChange refChange) throws IOException
      Provides a ref change to the callback for processing.

      If the callback is performing internal paging, it may signal the end of the page by returning false here.

      Parameters:
      refChange - the ref change to process
      Returns:
      true if additional ref changes should be provided; otherwise, false if the callback has received as many ref changes as desired
      Throws:
      IOException - may be thrown by implementations which perform I/O
    • onStart

      default void onStart(@Nonnull MirrorSyncContext context) throws IOException
      Called before the first ref change is streamed.
      Parameters:
      context - provides details about the request for which ref changes are being streamed
      Throws:
      IOException - may be thrown by implementations which perform I/O