Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/12/14 03:02:33 (10 years ago)
Author:
swagner
Message:

#2205: Small UI tweaks and bug fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OptimizationNetworks/HeuristicLab.Optimization.Networks/3.3/Core.Networks/MessagePort.cs

    r11538 r11539  
    132132      var message = new Message();
    133133
    134       // collect parameters from local port
    135       message.Values.AddRange(Parameters.Select(p => p.CreateMessageValue()));
     134      // collect output parameters from local port
     135      message.Values.AddRange(
     136        Parameters
     137          .Where(p => p.Type.HasFlag(PortParameterType.Output))
     138          .Select(p => p.CreateMessageValue())
     139      );
    136140
    137141      // collect remaining parameters from connected port
     
    144148      }
    145149
     150      // collect remaining input parameters from local port
     151      message.Values.AddRange(
     152        Parameters
     153          .Where(p => p.Type.HasFlag(PortParameterType.Input) && !message.Values.ContainsKey(p.Name))
     154          .Select(p => p.CreateMessageValue())
     155      );
     156
    146157      return message;
    147158    }
     
    151162    public void SendMessage(IMessage message, CancellationToken token) {
    152163      if (!PortConnectionValid) throw new InvalidOperationException("Port connection is not valid");
     164      if (ConnectedPort != null) ConnectedPort.ReceiveMessage(message, token);
    153165      LastMessage = message;
    154       if (ConnectedPort != null) ConnectedPort.ReceiveMessage(message, token);
    155166      OnMessageSent(message, token);
    156167    }
Note: See TracChangeset for help on using the changeset viewer.