mirror of
https://github.com/ZuneDev/MicrosoftIris.git
synced 2026-07-27 13:13:29 -07:00
Better debug message for DeferredInvokeProxy
This commit is contained in:
@@ -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}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,11 +73,16 @@ 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
|
||||
|
||||
@@ -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(),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user