Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/22/11 17:11:27 (13 years ago)
Author:
epitzer
Message:

Automatically generate TCPChannel, ProcessChannel and ServiceClient names form parameters (#1526).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationTCPChannel.cs

    r5445 r6470  
    3232  [StorableClass]
    3333  public class EvaluationTCPChannel : EvaluationChannel {
     34
    3435    public const int MAX_VARINT32_SIZE = 5;
    3536
     37    #region Fields & Properties
    3638    [Storable]
    3739    private string ipAddress;
     
    3941      get { return ipAddress; }
    4042      set {
    41         bool changed = !ipAddress.Equals(value);
     43        if (value == ipAddress) return;
    4244        ipAddress = value;
    43         if (changed)
    44           OnIpAddressChanged();
     45        UpdateName();
     46        OnIpAddressChanged();
    4547      }
    4648    }
     
    5052      get { return port; }
    5153      set {
    52         bool changed = port != value;
     54        if (value == port) return;
    5355        port = value;
    54         if (changed)
    55           OnPortChanged();
     56        UpdateName();
     57        OnPortChanged();
    5658      }
    5759    }
    5860    private Socket socket;
    59 
     61    #endregion
     62
     63    #region Construction & Cloning
    6064    [StorableConstructor]
    6165    protected EvaluationTCPChannel(bool deserializing) : base(deserializing) { }
     
    6468      ipAddress = original.ipAddress;
    6569      port = original.port;
    66     }
     70      UpdateName();
     71    }
     72
    6773    public override IDeepCloneable Clone(Cloner cloner) {
    6874      return new EvaluationTCPChannel(this, cloner);
     
    7480      this.ipAddress = ip;
    7581      this.port = port;
    76     }
     82      UpdateName();
     83    }
     84    [StorableHook(HookType.AfterDeserialization)]
     85    private void AfterDeserialization() {
     86      UpdateName();
     87    }
     88    #endregion
     89
     90   
    7791
    7892    #region IExternalEvaluationChannel Members
     
    183197    #endregion
    184198
     199    #region Auxiliary Methods
     200    private void UpdateName() {
     201      name = string.Format("TCPChannel {0}:{1}", ipAddress, port);
     202      OnNameChanged();
     203    }
     204    #endregion
     205
    185206    #region Events
    186207    public event EventHandler IpAddressChanged;
Note: See TracChangeset for help on using the changeset viewer.