Record Class ProbingStep

java.lang.Object
java.lang.Record
google.registry.monitoring.blackbox.ProbingStep
Record Components:
duration - Time delay duration between actions.
protocol - Protocol type for this step.
messageTemplate - OutboundMessageType instance that serves as template to be modified by Token.
bootstrap - Bootstrap instance provided by parent ProbingSequence that allows for creation of new channels.

public record ProbingStep(org.joda.time.Duration duration, Protocol protocol, OutboundMessageType messageTemplate, io.netty.bootstrap.Bootstrap bootstrap) extends Record
AutoValue class that represents generator of actions performed at each step in ProbingSequence.

Holds the unchanged components in a given step of the ProbingSequence, which are the OutboundMessageType, Protocol, Duration, and Bootstrap instances. It then modifies these components on each loop iteration with the consumed Token and from that, generates a new ProbingAction to call.

  • Constructor Details

    • ProbingStep

      public ProbingStep(org.joda.time.Duration duration, Protocol protocol, OutboundMessageType messageTemplate, io.netty.bootstrap.Bootstrap bootstrap)
      Creates an instance of a ProbingStep record class.
      Parameters:
      duration - the value for the duration record component
      protocol - the value for the protocol record component
      messageTemplate - the value for the messageTemplate record component
      bootstrap - the value for the bootstrap record component
  • Method Details

    • builder

      public static ProbingStep.Builder builder()
    • generateAction

      public ProbingAction generateAction(Token token) throws UndeterminedStateException
      Generates a new ProbingAction from token modified OutboundMessageType
      Throws:
      UndeterminedStateException
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • duration

      public org.joda.time.Duration duration()
      Returns the value of the duration record component.
      Returns:
      the value of the duration record component
    • protocol

      public Protocol protocol()
      Returns the value of the protocol record component.
      Returns:
      the value of the protocol record component
    • messageTemplate

      public OutboundMessageType messageTemplate()
      Returns the value of the messageTemplate record component.
      Returns:
      the value of the messageTemplate record component
    • bootstrap

      public io.netty.bootstrap.Bootstrap bootstrap()
      Returns the value of the bootstrap record component.
      Returns:
      the value of the bootstrap record component