File tree Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Original file line number Diff line number Diff line change @@ -30,14 +30,14 @@ class Processor
3030 readonly GrpcDurableTaskWorker worker ;
3131 readonly TaskHubSidecarServiceClient client ;
3232 readonly DurableTaskShimFactory shimFactory ;
33- readonly InternalOptions internalOptions ;
33+ readonly GrpcDurableTaskWorkerOptions . InternalOptions internalOptions ;
3434
3535 public Processor ( GrpcDurableTaskWorker worker , TaskHubSidecarServiceClient client )
3636 {
3737 this . worker = worker ;
3838 this . client = client ;
3939 this . shimFactory = new DurableTaskShimFactory ( this . worker . grpcOptions , this . worker . loggerFactory ) ;
40- this . internalOptions = this . worker . grpcOptions . InternalOptions ;
40+ this . internalOptions = this . worker . grpcOptions . Internal ;
4141 }
4242
4343 ILogger Logger => this . worker . logger ;
Original file line number Diff line number Diff line change @@ -24,7 +24,26 @@ public sealed class GrpcDurableTaskWorkerOptions : DurableTaskWorkerOptions
2424 public CallInvoker ? CallInvoker { get ; set ; }
2525
2626 /// <summary>
27- /// Gets or sets the internal protocol options. These are used to control backend-dependent features.
27+ /// Gets the internal protocol options. These are used to control backend-dependent features.
2828 /// </summary>
29- internal InternalOptions Internal { get ; set ; } = new ( ) ;
29+ internal InternalOptions Internal { get ; } = new ( ) ;
30+
31+ /// <summary>
32+ /// Internal options are not exposed directly, but configurable via <see cref="Internal.InternalOptionsExtensions"/>.
33+ /// </summary>
34+ internal class InternalOptions
35+ {
36+ /// <summary>
37+ /// Gets or sets a value indicating whether entity-related events appearing in orchestration histories should be
38+ /// automatically converted back and forth between the old DT Core representation (JSON-encoded external events)
39+ /// and the new protobuf representation (explicit history events), which is used by the DTS scheduler backend.
40+ /// </summary>
41+ public bool ConvertOrchestrationEntityEvents { get ; set ; }
42+
43+ /// <summary>
44+ /// Gets or sets a value indicating whether to automatically add entity
45+ /// unlock events into the history when an orchestration terminates while holding an entity lock.
46+ /// </summary>
47+ public bool InsertEntityUnlocksOnCompletion { get ; set ; }
48+ }
3049}
Original file line number Diff line number Diff line change @@ -16,9 +16,15 @@ public static class InternalOptionsExtensions
1616 /// Configure the worker to use the default settings for connecting to the Azure Managed Durable Task service.
1717 /// </summary>
1818 /// <param name="options">The gRPC worker options.</param>
19+ /// <remarks>
20+ /// This is an internal API that supports the DurableTask infrastructure and not subject to
21+ /// the same compatibility standards as public APIs. It may be changed or removed without notice in
22+ /// any release. You should only use it directly in your code with extreme caution and knowing that
23+ /// doing so can result in application failures when updating to a new DurableTask release.
24+ /// </remarks>
1925 public static void ConfigureForAzureManaged ( this GrpcDurableTaskWorkerOptions options )
2026 {
21- options . InternalOptions . ConvertOrchestrationEntityEvents = true ;
22- options . InternalOptions . InsertEntityUnlocksOnCompletion = true ;
27+ options . Internal . ConvertOrchestrationEntityEvents = true ;
28+ options . Internal . InsertEntityUnlocksOnCompletion = true ;
2329 }
2430}
You can’t perform that action at this time.
0 commit comments