Better debug message for DeferredInvokeProxy

This commit is contained in:
Yoshi Askharoun
2026-07-26 11:15:22 -05:00
parent e65399ed8c
commit fe8a0b9760
3 changed files with 18 additions and 7 deletions
+8 -4
View File
@@ -10,13 +10,17 @@ namespace Microsoft.Iris
{
internal class DeferredInvokeProxy
{
private DeferredInvokeHandler _method;
private readonly DeferredInvokeHandler _method;
public static DeferredHandler Thunk(DeferredInvokeHandler method) => new DeferredHandler(new DeferredInvokeProxy()
private DeferredInvokeProxy(DeferredInvokeHandler method)
{
_method = method
}.Thunk);
_method = method;
}
public static DeferredHandler Thunk(DeferredInvokeHandler method) => new DeferredInvokeProxy(method).Thunk;
private void Thunk(object args) => _method(args);
public override string ToString() => $"{_method.Method.DeclaringType?.FullName}.{_method.Method.Name}";
}
}
+6 -1
View File
@@ -73,13 +73,18 @@ namespace Microsoft.Iris.Queues
QueueItem nextItem = queue.GetNextItem();
if (nextItem != null)
{
Application.Debugger?.LogDispatcher(nextItem.ToDebugPacketString());
var debugString = nextItem.ToDebugPacketString();
Application.Debugger?.LogDispatcher(debugString);
Trace.WriteLine(TraceCategory.Queues, 0, "Dispatcher nextItem := {0}", debugString);
nextItem.Dispatch();
}
else
{
break;
}
}
}
finally
{
LeaveDispatch();
+4 -2
View File
@@ -158,14 +158,16 @@ namespace Microsoft.Iris.Session
public override string ToDebugPacketString()
{
string packetString = _target?.Target == null
if (_target.Target is DeferredInvokeProxy deferredInvokeProxy)
return $"{deferredInvokeProxy}({_param})";
var packetString = _target?.Target == null
? string.Empty
: $"{_target.Target}.";
packetString += _target switch
{
SimpleCallback simpleCallback => simpleCallback.Method.Name,
DeferredHandler deferredHandler => $"{deferredHandler.Method.Name}({_param})",
EventHandler eventHandler => $"{eventHandler.Method.Name}({_param}, {_args})",
_ when _param is IDeferredInvokeItem deferredInvokeItem => deferredInvokeItem.ToString(),