Class ReplicaPushRequest

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String describe​(java.lang.String heading)  
      void done​(Repository repo)
      Mark the request as completed without exception.
      java.util.Collection<ReceiveCommand> getCommands()
      Get commands to be executed, and their results.
      java.lang.Throwable getException()
      Get exception thrown, if any.
      java.util.Map<java.lang.String,​Ref> getRefs()
      Get remote references, usually from the advertisement.
      void setException​(Repository repo, java.lang.Throwable err)
      Mark the request as crashing with a communication error.
      void setRefs​(java.util.Map<java.lang.String,​Ref> refs)
      Set references observed from the replica.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • commands

        private final java.util.Collection<ReceiveCommand> commands
      • refs

        private java.util.Map<java.lang.String,​Ref> refs
      • exception

        private java.lang.Throwable exception
      • notified

        private boolean notified
    • Constructor Detail

      • ReplicaPushRequest

        public ReplicaPushRequest​(KetchReplica replica,
                                  java.util.Collection<ReceiveCommand> commands)
        Construct a new push request for a replica.
        Parameters:
        replica - the replica being pushed to.
        commands - commands to be executed.
    • Method Detail

      • getCommands

        public java.util.Collection<ReceiveCommand> getCommands()
        Get commands to be executed, and their results.
        Returns:
        commands to be executed, and their results.
      • getRefs

        @Nullable
        public java.util.Map<java.lang.String,​Ref> getRefs()
        Get remote references, usually from the advertisement.
        Returns:
        remote references, usually from the advertisement.
      • setRefs

        public void setRefs​(java.util.Map<java.lang.String,​Ref> refs)
        Set references observed from the replica.
        Parameters:
        refs - references observed from the replica.
      • getException

        @Nullable
        public java.lang.Throwable getException()
        Get exception thrown, if any.
        Returns:
        exception thrown, if any.
      • setException

        public void setException​(@Nullable
                                 Repository repo,
                                 java.lang.Throwable err)
        Mark the request as crashing with a communication error.

        This method may take significant time acquiring the leader lock and updating the Ketch state machine with the failure.

        Parameters:
        repo - local repository reference used by the push attempt.
        err - exception thrown during communication.
      • done

        public void done​(Repository repo)
        Mark the request as completed without exception.

        This method may take significant time acquiring the leader lock and updating the Ketch state machine with results from this replica.

        Parameters:
        repo - local repository reference used by the push attempt.
      • describe

        private java.lang.String describe​(java.lang.String heading)