Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DistributedContextPropagator.cs
Go to the documentation of this file.
2using System.Net;
3using System.Text;
4
5namespace System.Diagnostics;
6
7public abstract class DistributedContextPropagator
8{
10
11 public delegate void PropagatorSetterCallback(object? carrier, string fieldName, string fieldValue);
12
14
15 internal static readonly char[] s_trimmingSpaceCharacters = new char[2] { ' ', '\t' };
16
17 public abstract IReadOnlyCollection<string> Fields { get; }
18
20 {
21 get
22 {
23 return s_current;
24 }
25 set
26 {
27 s_current = value ?? throw new ArgumentNullException("value");
28 }
29 }
30
32
33 public abstract void ExtractTraceIdAndState(object? carrier, PropagatorGetterCallback? getter, out string? traceId, out string? traceState);
34
36
41
46
51
53 {
55 if (enumerator.MoveNext())
56 {
58 do
59 {
61 stringBuilder.Append(WebUtility.UrlEncode(current.Key)).Append('=').Append(WebUtility.UrlEncode(current.Value))
62 .Append(", ");
63 }
64 while (enumerator.MoveNext());
65 setter(carrier, "Correlation-Context", stringBuilder.ToString(0, stringBuilder.Length - 2));
66 }
67 }
68}
static DistributedContextPropagator CreateNoOutputPropagator()
delegate void PropagatorSetterCallback(object? carrier, string fieldName, string fieldValue)
void ExtractTraceIdAndState(object? carrier, PropagatorGetterCallback? getter, out string? traceId, out string? traceState)
void Inject(Activity? activity, object? carrier, PropagatorSetterCallback? setter)
static void InjectBaggage(object carrier, IEnumerable< KeyValuePair< string, string > > baggage, PropagatorSetterCallback setter)
IEnumerable< KeyValuePair< string, string?> >? ExtractBaggage(object? carrier, PropagatorGetterCallback? getter)
delegate void PropagatorGetterCallback(object? carrier, string fieldName, out string? fieldValue, out IEnumerable< string >? fieldValues)
static DistributedContextPropagator CreatePassThroughPropagator()
static DistributedContextPropagator CreateDefaultPropagator()
static DistributedContextPropagator Instance
static DistributedContextPropagator Instance
static DistributedContextPropagator Instance
static ? string UrlEncode(string? value)