QBM.CompositionApi.Server/QBM.CompositionApi.Util/PerfBlockAsyncEvent.cs
Decompiler Source FileQBM.CompositionApi.Server.PerfBlockAsyncEventDecompiled Source
Interpretation
- Decompiled source file. Use method/event registrations and call-site extraction to connect back to DialogMethod, QBMEvent, and API layers.
Relations
- Event handler: BulkProcessing at line 56
Typed Edges
- No typed edges extracted for this source.
References
- No direct source references extracted.
Referenced By
- No direct source references extracted.
C# source-derived context
Generated by pattern extraction from the decompiled C# source and decompile index. This is factual source evidence, not inferred behavior.
None extracted.
Summary: classes PerfBlockAsyncEvent, _003C_003Ec__DisplayClass1_0; methods MoveNext, SetStateMachine, _003CSubscribe_003Eb__0, Subscribe, InvokeAsync
Classes
PerfBlockAsyncEvent _003C_003Ec__DisplayClass1_0DB/Dialog object references
None extracted.
OIM key/entity markers
None extracted.API/entity calls
StartActivityRegistrations / handlers
None extracted.
Complete Source
1using System;2using System.Collections.Generic;3using System.Diagnostics;4using System.Runtime.CompilerServices;5using System.Runtime.InteropServices;6using System.Threading;7using System.Threading.Tasks;8using QBM.CompositionApi.ApiManager;9using QBM.CompositionApi.Handling;10using QBM.CompositionApi.Performance;1112namespace QBM.CompositionApi.Util;1314internal class PerfBlockAsyncEvent : IAsyncEventSource<IBulkEntityProcessingContext>, IAsyncEvent<IBulkEntityProcessingContext>, IAsyncListener<IBulkEntityProcessingContext>15{16 [CompilerGenerated]17 private sealed class _003C_003Ec__DisplayClass1_018 {19 [StructLayout((LayoutKind)3)]20 private struct _003C_003CSubscribe_003Eb__0_003Ed : IAsyncStateMachine21 {22 public int _003C_003E1__state;2324 public AsyncTaskMethodBuilder _003C_003Et__builder;2526 public IBulkEntityProcessingContext context;2728 public _003C_003Ec__DisplayClass1_0 _003C_003E4__this;2930 public CancellationToken ct;3132 private Activity _003C_003E7__wrap1;3334 private ConfiguredTaskAwaiter _003C_003Eu__1;3536 private void MoveNext()37 {38 //IL_0032: Unknown result type (might be due to invalid IL or missing references)39 //IL_0038: Unknown result type (might be due to invalid IL or missing references)40 //IL_0098: Unknown result type (might be due to invalid IL or missing references)41 //IL_009d: Unknown result type (might be due to invalid IL or missing references)42 //IL_00a4: Unknown result type (might be due to invalid IL or missing references)43 //IL_0054: Unknown result type (might be due to invalid IL or missing references)44 //IL_005f: Unknown result type (might be due to invalid IL or missing references)45 //IL_0064: Unknown result type (might be due to invalid IL or missing references)46 //IL_0068: Unknown result type (might be due to invalid IL or missing references)47 //IL_006d: Unknown result type (might be due to invalid IL or missing references)48 //IL_0081: Unknown result type (might be due to invalid IL or missing references)49 //IL_0082: Unknown result type (might be due to invalid IL or missing references)50 int num = _003C_003E1__state;51 _003C_003Ec__DisplayClass1_0 _003C_003Ec__DisplayClass1_ = _003C_003E4__this;52 try53 {54 if (num != 0)55 {56 _003C_003E7__wrap1 = Activity.Source.StartActivity("Event_BulkProcessing", (ActivityKind)0, (string)null, context.ToPerfData(_003C_003Ec__DisplayClass1_.name), (System.Collections.Generic.IEnumerable<ActivityLink>)null, default(DateTimeOffset));57 }58 try59 {60 ConfiguredTaskAwaiter val2;61 if (num != 0)62 {63 ConfiguredTaskAwaitable val = _003C_003Ec__DisplayClass1_.listener.InvokeAsync(context, ct).ConfigureAwait(false);64 val2 = ((ConfiguredTaskAwaitable)(ref val)).GetAwaiter();65 if (!((ConfiguredTaskAwaiter)(ref val2)).IsCompleted)66 {67 num = (_003C_003E1__state = 0);68 _003C_003Eu__1 = val2;69 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).AwaitUnsafeOnCompleted<ConfiguredTaskAwaiter, _003C_003CSubscribe_003Eb__0_003Ed>(ref val2, ref this);70 return;71 }72 }73 else74 {75 val2 = _003C_003Eu__1;76 _003C_003Eu__1 = default(ConfiguredTaskAwaiter);77 num = (_003C_003E1__state = -1);78 }79 ((ConfiguredTaskAwaiter)(ref val2)).GetResult();80 }81 finally82 {83 if (num < 0 && _003C_003E7__wrap1 != null)84 {85 ((System.IDisposable)_003C_003E7__wrap1).Dispose();86 }87 }88 _003C_003E7__wrap1 = null;89 }90 catch (System.Exception exception)91 {92 _003C_003E1__state = -2;93 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetException(exception);94 return;95 }96 _003C_003E1__state = -2;97 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetResult();98 }99100 [DebuggerHidden]101 private void SetStateMachine(IAsyncStateMachine stateMachine)102 {103 ((AsyncTaskMethodBuilder)(ref _003C_003Et__builder)).SetStateMachine(stateMachine);104 }105 }106107 public string name;108109 public IAsyncListener<IBulkEntityProcessingContext> listener;110111 [AsyncStateMachine(typeof(_003C_003CSubscribe_003Eb__0_003Ed))]112 internal System.Threading.Tasks.Task _003CSubscribe_003Eb__0(IBulkEntityProcessingContext context, CancellationToken ct)113 {114 //IL_0002: Unknown result type (might be due to invalid IL or missing references)115 //IL_0007: Unknown result type (might be due to invalid IL or missing references)116 //IL_001e: Unknown result type (might be due to invalid IL or missing references)117 //IL_001f: Unknown result type (might be due to invalid IL or missing references)118 _003C_003CSubscribe_003Eb__0_003Ed _003C_003CSubscribe_003Eb__0_003Ed = default(_003C_003CSubscribe_003Eb__0_003Ed);119 _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();120 _003C_003CSubscribe_003Eb__0_003Ed._003C_003E4__this = this;121 _003C_003CSubscribe_003Eb__0_003Ed.context = context;122 _003C_003CSubscribe_003Eb__0_003Ed.ct = ct;123 _003C_003CSubscribe_003Eb__0_003Ed._003C_003E1__state = -1;124 ((AsyncTaskMethodBuilder)(ref _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003CSubscribe_003Eb__0_003Ed>(ref _003C_003CSubscribe_003Eb__0_003Ed);125 return ((AsyncTaskMethodBuilder)(ref _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder)).Task;126 }127 }128129 private readonly AsyncEvent<IBulkEntityProcessingContext> _inner = new AsyncEvent<IBulkEntityProcessingContext>();130131 public System.IDisposable Subscribe(IAsyncListener<IBulkEntityProcessingContext> listener)132 {133 _003C_003Ec__DisplayClass1_0 CS_0024_003C_003E8__locals4 = new _003C_003Ec__DisplayClass1_0();134 CS_0024_003C_003E8__locals4.listener = listener;135 CS_0024_003C_003E8__locals4.name = ((CS_0024_003C_003E8__locals4.listener is INamed named) ? named.Name : null) ?? "<unnamed>";136 return ((IAsyncEvent<IBulkEntityProcessingContext>)_inner).Subscribe((Func<IBulkEntityProcessingContext, CancellationToken, System.Threading.Tasks.Task>)([AsyncStateMachine(typeof(_003C_003Ec__DisplayClass1_0._003C_003CSubscribe_003Eb__0_003Ed))] (IBulkEntityProcessingContext context, CancellationToken ct) =>137 {138 //IL_0002: Unknown result type (might be due to invalid IL or missing references)139 //IL_0007: Unknown result type (might be due to invalid IL or missing references)140 //IL_001e: Unknown result type (might be due to invalid IL or missing references)141 //IL_001f: Unknown result type (might be due to invalid IL or missing references)142 _003C_003Ec__DisplayClass1_0._003C_003CSubscribe_003Eb__0_003Ed _003C_003CSubscribe_003Eb__0_003Ed = default(_003C_003Ec__DisplayClass1_0._003C_003CSubscribe_003Eb__0_003Ed);143 _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder = AsyncTaskMethodBuilder.Create();144 _003C_003CSubscribe_003Eb__0_003Ed._003C_003E4__this = CS_0024_003C_003E8__locals4;145 _003C_003CSubscribe_003Eb__0_003Ed.context = context;146 _003C_003CSubscribe_003Eb__0_003Ed.ct = ct;147 _003C_003CSubscribe_003Eb__0_003Ed._003C_003E1__state = -1;148 ((AsyncTaskMethodBuilder)(ref _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder)).Start<_003C_003Ec__DisplayClass1_0._003C_003CSubscribe_003Eb__0_003Ed>(ref _003C_003CSubscribe_003Eb__0_003Ed);149 return ((AsyncTaskMethodBuilder)(ref _003C_003CSubscribe_003Eb__0_003Ed._003C_003Et__builder)).Task;150 }), (string)null);151 }152153 public System.Threading.Tasks.Task InvokeAsync(IBulkEntityProcessingContext value, CancellationToken ct = default(CancellationToken))154 {155 //IL_0007: Unknown result type (might be due to invalid IL or missing references)156 return _inner.InvokeAsync(value, ct);157 }158}159