public override IEnumerator ReceivePayload(VisualPayload payload) { var groupId = GroupId.GetFirstValue(payload.Data); if (!WaitingTransmissions.ContainsKey(groupId)) { WaitingTransmissions[groupId] = new List <SequencedRepeatPair>(); } WaitingTransmissions[groupId].Add(ProduceTransmissionFunc(payload)); var iterator = BeginSequenceState.Transmit(payload); while (iterator.MoveNext()) { yield return(null); } //start sequence UnwaitGroupId(groupId); }
protected override void OnProcessOutputSchema(MutableObject newSchema) { BeginSequenceState.TransmitSchema(newSchema); EndSequenceState.TransmitSchema(newSchema); ProcessPerStepSchema(newSchema); }