Table of Contents

Class TimeSkippingConfig

Namespace
Temporalio.Api.Workflow.V1
Assembly
Temporalio.dll

Configuration for time skipping during a workflow execution. When enabled, virtual time advances automatically whenever there is no in-flight work. In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations, and possibly other features added in the future. User timers are not classified as in-flight work and will be skipped over. When time advances, it skips to the earlier of the next user timer or the configured bound, if either exists.

Propagation behavior of time skipping: The enabled flag, bound fields, and accumulated skipped duration are propagated to related executions as follows: (1) Child workflows and continue-as-new: both the configuration and the accumulated skipped duration are inherited from the current execution. The configured bound is shared between the inherited skipped duration and any additional duration skipped by the new run. (2) Retry and cron: the configuration and accumulated skipped duration are inherited as recorded when the current workflow started; the accumulated skipped duration of the current run is not propagated. (3) Reset: the new run retains the time-skipping configuration of the current execution. Because reset replays all events up to the reset point and re-applies any UpdateWorkflowExecutionOptions changes made after that point, the resulting run ends up with the same final time-skipping configuration as the previous run.

public sealed class TimeSkippingConfig : IMessage<TimeSkippingConfig>, IEquatable<TimeSkippingConfig>, IDeepCloneable<TimeSkippingConfig>, IBufferMessage, IMessage
Inheritance
TimeSkippingConfig
Implements
IDeepCloneable<TimeSkippingConfig>
IBufferMessage
IMessage
Inherited Members

Constructors

TimeSkippingConfig()

public TimeSkippingConfig()

TimeSkippingConfig(TimeSkippingConfig)

public TimeSkippingConfig(TimeSkippingConfig other)

Parameters

other TimeSkippingConfig

Fields

EnabledFieldNumber

Field number for the "enabled" field.

public const int EnabledFieldNumber = 1

Field Value

int

MaxElapsedDurationFieldNumber

Field number for the "max_elapsed_duration" field.

public const int MaxElapsedDurationFieldNumber = 5

Field Value

int

MaxSkippedDurationFieldNumber

Field number for the "max_skipped_duration" field.

public const int MaxSkippedDurationFieldNumber = 4

Field Value

int

Properties

BoundCase

public TimeSkippingConfig.BoundOneofCase BoundCase { get; }

Property Value

TimeSkippingConfig.BoundOneofCase

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

Enabled

Enables or disables time skipping for this workflow execution.

public bool Enabled { get; set; }

Property Value

bool

MaxElapsedDuration

Maximum elapsed time since time skipping was enabled. This includes both skipped time and real time elapsing. (-- api-linter: core::0142::time-field-names=disabled --)

public Duration MaxElapsedDuration { get; set; }

Property Value

Duration

MaxSkippedDuration

Maximum total virtual time that can be skipped.

public Duration MaxSkippedDuration { get; set; }

Property Value

Duration

Parser

public static MessageParser<TimeSkippingConfig> Parser { get; }

Property Value

MessageParser<TimeSkippingConfig>

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

ClearBound()

public void ClearBound()

Clone()

Creates a deep clone of this object.

public TimeSkippingConfig Clone()

Returns

TimeSkippingConfig

A deep clone of this object.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

Equals(TimeSkippingConfig)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(TimeSkippingConfig other)

Parameters

other TimeSkippingConfig

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

MergeFrom(TimeSkippingConfig)

Merges the given message into this one.

public void MergeFrom(TimeSkippingConfig other)

Parameters

other TimeSkippingConfig

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.