예제 #1
0
        protected override void OnProcessOutputSchema(MutableObject newSchema)
        {
            var headerMutable = Header.GetFirstValue(newSchema);

            foreach (var entry in TraceList.GetEntries(newSchema))
            {
                ExecutionHeaderTarget.SetValue(headerMutable, entry);

                foreach (var traceSchema in TraceList.GetValue(entry))
                {
                    TraceState.TransmitSchema(traceSchema);
                }
            }

            DefaultState.TransmitSchema(newSchema);
        }
예제 #2
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            var headerMutable = Header.GetFirstValue(payload.Data);

            IEnumerator iterator;

            foreach (var entry in TraceList.GetEntries(payload.Data))
            {
                ExecutionHeaderTarget.SetValue(headerMutable, entry);

                foreach (var traceMutable in TraceList.GetValue(entry))
                {
                    var traceVisualDescription = new VisualDescription(payload.VisualData.Bound.CreateDependingBound(Name));

                    VisualPayload tracePayload = new VisualPayload(traceMutable, traceVisualDescription);

                    iterator = TraceState.Transmit(tracePayload);
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
        }