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); }
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); } } } }