Ejemplo n.º 1
0
        private static void PopulateResponseSummary(ListControl lstTarget, HyperNodeMessageResponse response)
        {
            if (lstTarget == null)
            {
                return;
            }

            if (response == null)
            {
                lstTarget.DataSource = null;
                return;
            }

            lstTarget.DataSource = new[]
            {
                "Task ID: " + response.TaskId,
                "Responding Node Name:" + response.RespondingNodeName,
                "Total Run Time: " + response.TotalRunTime,
                "Node Action: " + response.NodeAction,
                "Node Action Reason: " + response.NodeActionReason,
                "Process Status Flags: " + response.ProcessStatusFlags,
                "Response XML: " + response.CommandResponseString,
                "Task Trace Count: " + response.TaskTrace.Count
            };
        }
Ejemplo n.º 2
0
        private static void PopulateTaskTrace(TreeView tvwTaskTrace, HyperNodeMessageResponse response)
        {
            if (tvwTaskTrace == null)
            {
                return;
            }

            if (response == null)
            {
                tvwTaskTrace.Nodes.Clear();
                return;
            }

            tvwTaskTrace.Nodes.AddRange(
                new[]
            {
                new TreeNode(
                    response.RespondingNodeName,
                    response.TaskTrace.Select(i => new TreeNode(FormatActivityItem(i), string.IsNullOrWhiteSpace(i.EventDetail) ? new TreeNode[0] : new [] { new TreeNode(i.EventDetail) })).ToArray()
                    )
                {
                    Tag = response
                }
            }
                );
        }
Ejemplo n.º 3
0
 public ReadOnlyHyperNodeResponseInfo(HyperNodeMessageResponse response)
 {
     TaskId                = response.TaskId;
     RespondingNodeName    = response.RespondingNodeName;
     TotalRunTime          = response.TotalRunTime;
     NodeAction            = response.NodeAction;
     NodeActionReason      = response.NodeActionReason;
     ProcessStatusFlags    = response.ProcessStatusFlags;
     CommandResponseString = response.CommandResponseString;
     TaskTrace             = new ReadOnlyCollection <HyperNodeActivityItem>(
         response.TaskTrace.Select(
             t => new HyperNodeActivityItem(t)
             ).ToList()
         );
 }
        /// <summary>
        /// This method should only ever be called once at the very end of a HyperNode's processing of a message after all of the child threads have completed.
        /// </summary>
        /// <param name="response">The complete <see cref="HyperNodeMessageResponse"/> object to report.</param>
        public void TrackTaskComplete(HyperNodeMessageResponse response)
        {
            Track("Task complete.", null, response);

            try
            {
                _eventHandler.OnTaskCompleted(
                    new TaskCompletedEventArgs(
                        this,
                        _taskContext,
                        new ReadOnlyHyperNodeResponseInfo(response)
                        )
                    );
            }
            catch (Exception ex)
            {
                TrackException(ex);
            }
        }
Ejemplo n.º 5
0
 public ResponseTaskTraceMonitor(HyperNodeMessageResponse target)
 {
     Name    = nameof(ResponseTaskTraceMonitor);
     _target = target;
 }