Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 19:47:39 (14 years ago)
Author:
mkommend
Message:

Refactored ExternalEvaluation.* and fixed some errors and warnings (ticket #922).

Location:
branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationChannel.cs

    r4068 r4682  
    2121
    2222using Google.ProtocolBuffers;
     23using HeuristicLab.Common;
    2324using HeuristicLab.Core;
    2425using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334    [StorableConstructor]
    3435    protected EvaluationChannel(bool deserializing) : base(deserializing) { }
     36    protected EvaluationChannel(EvaluationChannel original, Cloner cloner) : base(original, cloner) { }
    3537    protected EvaluationChannel()
    3638      : base() {
  • branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationProcessChannel.cs

    r3895 r4682  
    5858    private EvaluationStreamChannel streamingChannel;
    5959
     60    [StorableConstructor]
     61    protected EvaluationProcessChannel(bool deserializing) : base(deserializing) { }
     62    protected EvaluationProcessChannel(EvaluationProcessChannel original, Cloner cloner)
     63      : base(original, cloner) {
     64      executable = original.executable;
     65      arguments = original.arguments;
     66    }
     67    public override IDeepCloneable Clone(Cloner cloner) {
     68      return new EvaluationProcessChannel(this, cloner);
     69    }
     70
    6071    public EvaluationProcessChannel() : this(String.Empty, String.Empty) { }
    6172    public EvaluationProcessChannel(string executable, string arguments)
     
    6374      this.executable = executable;
    6475      this.arguments = arguments;
    65     }
    66 
    67     public override IDeepCloneable Clone(Cloner cloner) {
    68       EvaluationProcessChannel clone = (EvaluationProcessChannel)base.Clone(cloner);
    69       clone.executable = executable;
    70       clone.arguments = arguments;
    71       return clone;
    7276    }
    7377
     
    96100      try {
    97101        streamingChannel.Send(message);
    98       } catch {
     102      }
     103      catch {
    99104        Close();
    100105        throw;
     
    105110      try {
    106111        return streamingChannel.Receive(builder);
    107       } catch {
     112      }
     113      catch {
    108114        Close();
    109115        throw;
     
    121127              process.WaitForExit(1000);
    122128              process.Close();
    123             } catch { }
     129            }
     130            catch { }
    124131          }
    125132          // for some reasons the event process_Exited does not fire
  • branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationServiceClient.cs

    r4068 r4682  
    2121
    2222using System;
     23using HeuristicLab.Common;
    2324using HeuristicLab.Core;
    2425using HeuristicLab.Data;
     
    4445    }
    4546
     47
     48    [StorableConstructor]
     49    protected EvaluationServiceClient(bool deserializing) : base(deserializing) { }
     50    protected EvaluationServiceClient(EvaluationServiceClient original, Cloner cloner) : base(original, cloner) { }
     51    public override IDeepCloneable Clone(Cloner cloner) {
     52      return new EvaluationServiceClient(this, cloner);
     53    }
    4654    public EvaluationServiceClient()
    4755      : base() {
  • branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationStreamChannel.cs

    r3872 r4682  
    2323using System.IO;
    2424using Google.ProtocolBuffers;
     25using HeuristicLab.Common;
    2526using HeuristicLab.Core;
    2627using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3334    private Stream input;
    3435    private Stream output;
     36
     37    [StorableConstructor]
     38    protected EvaluationStreamChannel(bool deserializing) : base(deserializing) { }
     39    protected EvaluationStreamChannel(EvaluationStreamChannel original, Cloner cloner) : base(original, cloner) { }
     40    public override IDeepCloneable Clone(Cloner cloner) {
     41      return new EvaluationStreamChannel(this, cloner);
     42    }
    3543
    3644    public EvaluationStreamChannel() : base() { }
  • branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationTCPChannel.cs

    r3895 r4682  
    5858    private Socket socket;
    5959
     60    [StorableConstructor]
     61    protected EvaluationTCPChannel(bool deserializing) : base(deserializing) { }
     62    protected EvaluationTCPChannel(EvaluationTCPChannel original, Cloner cloner)
     63      : base(original, cloner) {
     64      ipAddress = original.ipAddress;
     65      port = original.port;
     66    }
     67    public override IDeepCloneable Clone(Cloner cloner) {
     68      return new EvaluationTCPChannel(this, cloner);
     69    }
     70
    6071    public EvaluationTCPChannel() : this(String.Empty, 0) { }
    6172    public EvaluationTCPChannel(string ip, int port)
     
    6374      this.ipAddress = ip;
    6475      this.port = port;
    65     }
    66 
    67     public override IDeepCloneable Clone(Cloner cloner) {
    68       EvaluationTCPChannel clone = (EvaluationTCPChannel)base.Clone(cloner);
    69       clone.ipAddress = ipAddress;
    70       clone.port = port;
    71       return clone;
    7276    }
    7377
     
    8791        byte[] buffer = EncodeDelimited(message);
    8892        socket.Send(buffer);
    89       } catch (SocketException) {
    90         Close();
    91         throw;
    92       } catch (ObjectDisposedException) {
     93      }
     94      catch (SocketException) {
     95        Close();
     96        throw;
     97      }
     98      catch (ObjectDisposedException) {
    9399        socket = null;
    94100        Close();
     
    122128        byte[] buffer = GetMessageBuffer();
    123129        return builder.WeakMergeFrom(ByteString.CopyFrom(buffer)).WeakBuild();
    124       } catch (SocketException) {
    125         Close();
    126         throw;
    127       } catch (ObjectDisposedException) {
     130      }
     131      catch (SocketException) {
     132        Close();
     133        throw;
     134      }
     135      catch (ObjectDisposedException) {
    128136        socket = null;
    129137        Close();
     
    164172            socket.Disconnect(false);
    165173          socket.Close();
    166         } catch { }
     174        }
     175        catch { }
    167176        socket = null;
    168177      }
Note: See TracChangeset for help on using the changeset viewer.