npantarhei.runtime.operations.Map_message_to_input_ports.Process C# (CSharp) Méthode

Process() public méthode

public Process ( IMessage outputMessage ) : void
outputMessage IMessage
Résultat void
        public void Process(IMessage outputMessage)
        {
            var inputPorts = _streams.Where(s => s.FromPort.Fullname.ToLower() == outputMessage.Port.Fullname.ToLower())
                                     .Select(s => s.ToPort)
                                     .ToArray();

            // it is explicitly no error if no input port was found!
            // an output message can be generated without a corresponding input.
            // it´s like a ray of light hitting no eye.

            foreach(var port in inputPorts)
                Result(new Message(port, outputMessage.Data, outputMessage.CorrelationId){Causalities = outputMessage.Causalities, FlowStack = outputMessage.FlowStack});
        }

Usage Example

        public void Unknow_port_to_map()
        {
            var sut = new Map_message_to_input_ports();

            List<IStream> streams = new List<IStream>();
            sut.Inject(streams);

            Assert.Throws(typeof(InvalidOperationException),
                          () => sut.Process(new Message("b", "some data")));
        }
All Usage Examples Of npantarhei.runtime.operations.Map_message_to_input_ports::Process
Map_message_to_input_ports