Пример #1
0
    private void ApplyOutputMapping(ProcessingModule processingModule, TopicOutputMapping outputMapping)
    {
        if (!IsValidIOMapping(processingModule, outputMapping))
        {
            Debug.LogError("ProcessingModuleManager: IO-Mapping for module " + processingModule.Name + "->" + outputMapping.OutputName + " is invalid");
        }

        if (outputMapping.TopicDestinationCase == TopicOutputMapping.TopicDestinationOneofCase.Topic)
        {
            processingModule.SetOutputSetter(outputMapping.OutputName, (TopicDataRecord record) =>
            {
                record.Topic = outputMapping.Topic;
                topicDataProxy.Publish(record);
            });
        }
        else if (outputMapping.TopicDestinationCase == TopicOutputMapping.TopicDestinationOneofCase.TopicDemux)
        {
            //let demultiplexer = undefined;
            //if (topicDestination.Id)
            //{
            //    demultiplexer = this.deviceManager.getTopicDemux(topicDestination.Id);
            //}
            //else
            //{
            //    let topicDataBuffer = isLockstep ? this.lockstepTopicData : this.topicData;
            //    demultiplexer = this.deviceManager.createTopicDemuxerBySpecs(topicDestination, topicDataBuffer);
            //}
            //processingModule.setOutputSetter(outputMapping.outputName, (value) => {
            //    demultiplexer.push(value);
            //});
        }
    }
Пример #2
0
 private bool IsValidIOMapping(ProcessingModule processingModule, TopicOutputMapping outputMapping)
 {
     return(processingModule.Outputs.Any(output => output.InternalName == outputMapping.OutputName));
 }