Class WorkflowTaskCompletedMetadata
- Namespace
- Temporalio.Api.Sdk.V1
- Assembly
- Temporalio.dll
public sealed class WorkflowTaskCompletedMetadata : IMessage<WorkflowTaskCompletedMetadata>, IEquatable<WorkflowTaskCompletedMetadata>, IDeepCloneable<WorkflowTaskCompletedMetadata>, IBufferMessage, IMessage
- Inheritance
-
WorkflowTaskCompletedMetadata
- Implements
-
IMessage<WorkflowTaskCompletedMetadata>IDeepCloneable<WorkflowTaskCompletedMetadata>IBufferMessageIMessage
- Inherited Members
Constructors
WorkflowTaskCompletedMetadata()
public WorkflowTaskCompletedMetadata()
WorkflowTaskCompletedMetadata(WorkflowTaskCompletedMetadata)
public WorkflowTaskCompletedMetadata(WorkflowTaskCompletedMetadata other)
Parameters
Fields
CoreUsedFlagsFieldNumber
Field number for the "core_used_flags" field.
public const int CoreUsedFlagsFieldNumber = 1
Field Value
LangUsedFlagsFieldNumber
Field number for the "lang_used_flags" field.
public const int LangUsedFlagsFieldNumber = 2
Field Value
SdkNameFieldNumber
Field number for the "sdk_name" field.
public const int SdkNameFieldNumber = 3
Field Value
SdkVersionFieldNumber
Field number for the "sdk_version" field.
public const int SdkVersionFieldNumber = 4
Field Value
Properties
CoreUsedFlags
Internal flags used by the core SDK. SDKs using flags must comply with the following behavior:
During replay:
- If a flag is not recognized (value is too high or not defined), it must fail the workflow task.
- If a flag is recognized, it is stored in a set of used flags for the run. Code checks for that flag during and after this WFT are allowed to assume that the flag is present.
- If a code check for a flag does not find the flag in the set of used flags, it must take the branch corresponding to the absence of that flag.
During non-replay execution of new WFTs:
- The SDK is free to use all flags it knows about. It must record any newly-used (IE: not previously recorded) flags when completing the WFT.
SDKs which are too old to even know about this field at all are considered to produce undefined behavior if they replay workflows which used this mechanism.
(-- api-linter: core::0141::forbidden-types=disabled aip.dev/not-precedent: These really shouldn't have negative values. --)
public RepeatedField<uint> CoreUsedFlags { get; }
Property Value
- RepeatedField<uint>
Descriptor
public static MessageDescriptor Descriptor { get; }
Property Value
- MessageDescriptor
LangUsedFlags
Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages
here as processing a workflow with a different language than the one which authored it is
already undefined behavior. See core_used_patches
for more.
(-- api-linter: core::0141::forbidden-types=disabled aip.dev/not-precedent: These really shouldn't have negative values. --)
public RepeatedField<uint> LangUsedFlags { get; }
Property Value
- RepeatedField<uint>
Parser
public static MessageParser<WorkflowTaskCompletedMetadata> Parser { get; }
Property Value
- MessageParser<WorkflowTaskCompletedMetadata>
SdkName
Name of the SDK that processed the task. This is usually something like "temporal-go" and is usually the same as client-name gRPC header. This should only be set if its value changed since the last time recorded on the workflow (or be set on the first task).
(-- api-linter: core::0122::name-suffix=disabled aip.dev/not-precedent: We're ok with a name suffix here. --)
public string SdkName { get; set; }
Property Value
SdkVersion
Version of the SDK that processed the task. This is usually something like "1.20.0" and is usually the same as client-version gRPC header. This should only be set if its value changed since the last time recorded on the workflow (or be set on the first task).
public string SdkVersion { get; set; }
Property Value
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.
Clone()
Creates a deep clone of this object.
public WorkflowTaskCompletedMetadata Clone()
Returns
- WorkflowTaskCompletedMetadata
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
Equals(WorkflowTaskCompletedMetadata)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(WorkflowTaskCompletedMetadata other)
Parameters
other
WorkflowTaskCompletedMetadataAn object to compare with this object.
Returns
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(WorkflowTaskCompletedMetadata)
Merges the given message into this one.
public void MergeFrom(WorkflowTaskCompletedMetadata other)
Parameters
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
CodedOutputStreamCoded output stream to write the data to. Must not be null.