Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/25/14 02:54:42 (10 years ago)
Author:
swagner
Message:

#2205: Worked on optimization networks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OptimizationNetworks/HeuristicLab.Optimization.Networks/3.3/Ports/GenericPort.cs

    r11500 r11501  
    6565      }
    6666    }
     67    [Storable]
     68    protected MessageCollection messages;
     69    public MessageCollection Messages {
     70      get { return messages; }
     71    }
    6772
    6873    [StorableConstructor]
    6974    protected GenericPort(bool deserializing) : base(deserializing) { }
    70     protected GenericPort(GenericPort original, Cloner cloner) : base(original, cloner) {
     75    protected GenericPort(GenericPort original, Cloner cloner)
     76      : base(original, cloner) {
    7177      connectedPort = cloner.Clone(original.connectedPort);
    7278      portConnectionValid = original.portConnectionValid;
     79      messages = cloner.Clone(original.messages);
    7380      RegisterConnectedPortEvents();
    7481    }
    75     public GenericPort() : base("GenericPort") { }
    76     public GenericPort(string name) : base(name) { }
    77     public GenericPort(string name, string description) : base(name, description) { }
     82    public GenericPort()
     83      : base("GenericPort") {
     84      portConnectionValid = true;
     85      messages = new MessageCollection();
     86    }
     87    public GenericPort(string name)
     88      : base(name) {
     89      portConnectionValid = true;
     90      messages = new MessageCollection();
     91    }
     92    public GenericPort(string name, string description)
     93      : base(name, description) {
     94      portConnectionValid = true;
     95      messages = new MessageCollection();
     96    }
    7897
    7998    [StorableHook(HookType.AfterDeserialization)]
     
    164183    public void SendMessage(IMessage message, CancellationToken token) {
    165184      if (!PortConnectionValid) throw new InvalidOperationException("Port connection is not valid");
     185      Messages.Add(message);
    166186      if (ConnectedPort != null) ConnectedPort.ReceiveMessage(message, token);
    167187      OnMessageSent(message, token);
     
    180200
    181201    public void ReceiveMessage(IMessage message, CancellationToken token) {
     202      if (!PortConnectionValid) throw new InvalidOperationException("Port connection is not valid");
     203      Messages.Add(message);
    182204      OnMessageReceived(message, token);
    183205    }
     
    195217
    196218    protected override void OnInterfaceChanged() {
    197       PortConnectionValid = (connectedPort != null) && CanConnectToPort(connectedPort);
     219      PortConnectionValid = CanConnectToPort(connectedPort);
    198220      base.OnInterfaceChanged();
    199221    }
Note: See TracChangeset for help on using the changeset viewer.