Back to OIM Explorer

QBM.CompositionApi.Server/QBM.CompositionApi.Util/PerfBlockAsyncEvent.cs

Decompiler Source FileQBM.CompositionApi.Server.PerfBlockAsyncEventDecompiled Source

1 extracted method/event/call references in PerfBlockAsyncEvent.

Source: F:\Claude\.tmp\oim-decompiled-full\0970_One_Identity_Manager_QBM.CompositionApi.Server.dll\QBM.CompositionApi.Util\PerfBlockAsyncEvent.cs

Source size: 7.773 characters

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_0

DB/Dialog object references

None extracted.

OIM key/entity markers

None extracted.

API/entity calls

StartActivity

Registrations / handlers

None extracted.

Complete Source

C#159 lines
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