Class TimeSkippingConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
io.temporal.api.common.v1.TimeSkippingConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, TimeSkippingConfigOrBuilder, Cloneable
Enclosing class:
TimeSkippingConfig

public static final class TimeSkippingConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder> implements TimeSkippingConfigOrBuilder
 The configuration for time skipping of an execution.
 When time skipping is enabled, virtual time advances automatically whenever there is no in-flight work.
 Options like fast_forward, disable_propagation, and max_session_skip_count are provided for granular
 control of the execution's time skipping behavior. See each field's comment for a detailed explanation.

 An example of workflows with time skipping:
 For workflows, an execution is a chain of runs including retries, cron, and continue-as-new.
 In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations, etc.
 User timers are not classified as in-flight work and will be skipped over; the virtual clock may also skip to the
 time point of the registered fast-forward when there is no in-flight work.
 Whenever time is skipped, the skip count is incremented by one; max_session_skip_count bounds the number of skips allowed within a single time-skipping session.
 For child workflows, by default, if the parent execution is skipping time, the child execution will also skip time,
 but a parent's fast_forward won't affect its child's execution. A flag is provided to disable propagation of the
 "enabled" flag to child workflows; regardless of that flag, a child workflow inherits the virtual time from the
 parent execution as its start time.
 
Protobuf type temporal.api.common.v1.TimeSkippingConfig
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • getDefaultInstanceForType

      public TimeSkippingConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public TimeSkippingConfig build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public TimeSkippingConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • setField

      public TimeSkippingConfig.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clearField

      public TimeSkippingConfig.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • clearOneof

      public TimeSkippingConfig.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • setRepeatedField

      public TimeSkippingConfig.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • addRepeatedField

      public TimeSkippingConfig.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

      public TimeSkippingConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeFrom

      public TimeSkippingConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TimeSkippingConfig.Builder>
      Throws:
      IOException
    • getEnabled

      public boolean getEnabled()
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Specified by:
      getEnabled in interface TimeSkippingConfigOrBuilder
      Returns:
      The enabled.
    • setEnabled

      public TimeSkippingConfig.Builder setEnabled(boolean value)
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Parameters:
      value - The enabled to set.
      Returns:
      This builder for chaining.
    • clearEnabled

      public TimeSkippingConfig.Builder clearEnabled()
       Enables or disables time skipping for this workflow execution.
       
      bool enabled = 1;
      Returns:
      This builder for chaining.
    • hasFastForwardConfig

      public boolean hasFastForwardConfig()
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
      Specified by:
      hasFastForwardConfig in interface TimeSkippingConfigOrBuilder
      Returns:
      Whether the fastForwardConfig field is set.
    • getFastForwardConfig

      public FastForwardConfig getFastForwardConfig()
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
      Specified by:
      getFastForwardConfig in interface TimeSkippingConfigOrBuilder
      Returns:
      The fastForwardConfig.
    • setFastForwardConfig

      public TimeSkippingConfig.Builder setFastForwardConfig(FastForwardConfig value)
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
    • setFastForwardConfig

      public TimeSkippingConfig.Builder setFastForwardConfig(FastForwardConfig.Builder builderForValue)
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
    • mergeFastForwardConfig

      public TimeSkippingConfig.Builder mergeFastForwardConfig(FastForwardConfig value)
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
    • clearFastForwardConfig

      public TimeSkippingConfig.Builder clearFastForwardConfig()
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
    • getFastForwardConfigBuilder

      public FastForwardConfig.Builder getFastForwardConfigBuilder()
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
    • getFastForwardConfigOrBuilder

      public FastForwardConfigOrBuilder getFastForwardConfigOrBuilder()
       An optional opt-in to control time-skipping behavior through fast-forward; see its definition for details.
       
      .temporal.api.common.v1.FastForwardConfig fast_forward_config = 2;
      Specified by:
      getFastForwardConfigOrBuilder in interface TimeSkippingConfigOrBuilder
    • getDisablePropagation

      public boolean getDisablePropagation()
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the time-skipping policy enabled) inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Specified by:
      getDisablePropagation in interface TimeSkippingConfigOrBuilder
      Returns:
      The disablePropagation.
    • setDisablePropagation

      public TimeSkippingConfig.Builder setDisablePropagation(boolean value)
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the time-skipping policy enabled) inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Parameters:
      value - The disablePropagation to set.
      Returns:
      This builder for chaining.
    • clearDisablePropagation

      public TimeSkippingConfig.Builder clearDisablePropagation()
       By default, executions started by another execution (e.g. a child workflow of a parent workflow or
       a schedule with the time-skipping policy enabled) inherit the "enabled" flag and skip time when possible.
       This flag disables that inheritance.
       
      bool disable_propagation = 3;
      Returns:
      This builder for chaining.
    • getMaxSessionSkipCount

      public int getMaxSessionSkipCount()
       The maximum number of skips allowed every time this field is updated. It protects the execution from
       situations like unlimited retries when backoff is skipped.
      
       Every time the execution skips time, the skip count is incremented by one, and when it reaches
       max_session_skip_count, time skipping stops. Whenever this config field is updated, the accumulated
       skip count is cleared, marking the start of a new session.
       For an execution with a chain of runs (retry, cron, continue-as-new), the count is accumulated
       across all runs within the same session.
      
       If this field is not set, the server applies a large default value (e.g. 100). The default can
       be changed through dynamic config, and is overridden by this field when set.
       
      int32 max_session_skip_count = 4;
      Specified by:
      getMaxSessionSkipCount in interface TimeSkippingConfigOrBuilder
      Returns:
      The maxSessionSkipCount.
    • setMaxSessionSkipCount

      public TimeSkippingConfig.Builder setMaxSessionSkipCount(int value)
       The maximum number of skips allowed every time this field is updated. It protects the execution from
       situations like unlimited retries when backoff is skipped.
      
       Every time the execution skips time, the skip count is incremented by one, and when it reaches
       max_session_skip_count, time skipping stops. Whenever this config field is updated, the accumulated
       skip count is cleared, marking the start of a new session.
       For an execution with a chain of runs (retry, cron, continue-as-new), the count is accumulated
       across all runs within the same session.
      
       If this field is not set, the server applies a large default value (e.g. 100). The default can
       be changed through dynamic config, and is overridden by this field when set.
       
      int32 max_session_skip_count = 4;
      Parameters:
      value - The maxSessionSkipCount to set.
      Returns:
      This builder for chaining.
    • clearMaxSessionSkipCount

      public TimeSkippingConfig.Builder clearMaxSessionSkipCount()
       The maximum number of skips allowed every time this field is updated. It protects the execution from
       situations like unlimited retries when backoff is skipped.
      
       Every time the execution skips time, the skip count is incremented by one, and when it reaches
       max_session_skip_count, time skipping stops. Whenever this config field is updated, the accumulated
       skip count is cleared, marking the start of a new session.
       For an execution with a chain of runs (retry, cron, continue-as-new), the count is accumulated
       across all runs within the same session.
      
       If this field is not set, the server applies a large default value (e.g. 100). The default can
       be changed through dynamic config, and is overridden by this field when set.
       
      int32 max_session_skip_count = 4;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final TimeSkippingConfig.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>
    • mergeUnknownFields

      public final TimeSkippingConfig.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TimeSkippingConfig.Builder>