- Timestamp:
- 10/29/10 19:47:39 (14 years ago)
- 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 21 21 22 22 using Google.ProtocolBuffers; 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 33 34 [StorableConstructor] 34 35 protected EvaluationChannel(bool deserializing) : base(deserializing) { } 36 protected EvaluationChannel(EvaluationChannel original, Cloner cloner) : base(original, cloner) { } 35 37 protected EvaluationChannel() 36 38 : base() { -
branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationProcessChannel.cs
r3895 r4682 58 58 private EvaluationStreamChannel streamingChannel; 59 59 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 60 71 public EvaluationProcessChannel() : this(String.Empty, String.Empty) { } 61 72 public EvaluationProcessChannel(string executable, string arguments) … … 63 74 this.executable = executable; 64 75 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;72 76 } 73 77 … … 96 100 try { 97 101 streamingChannel.Send(message); 98 } catch { 102 } 103 catch { 99 104 Close(); 100 105 throw; … … 105 110 try { 106 111 return streamingChannel.Receive(builder); 107 } catch { 112 } 113 catch { 108 114 Close(); 109 115 throw; … … 121 127 process.WaitForExit(1000); 122 128 process.Close(); 123 } catch { } 129 } 130 catch { } 124 131 } 125 132 // for some reasons the event process_Exited does not fire -
branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationServiceClient.cs
r4068 r4682 21 21 22 22 using System; 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Data; … … 44 45 } 45 46 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 } 46 54 public EvaluationServiceClient() 47 55 : base() { -
branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationStreamChannel.cs
r3872 r4682 23 23 using System.IO; 24 24 using Google.ProtocolBuffers; 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 33 34 private Stream input; 34 35 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 } 35 43 36 44 public EvaluationStreamChannel() : base() { } -
branches/CloningRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/EvaluationTCPChannel.cs
r3895 r4682 58 58 private Socket socket; 59 59 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 60 71 public EvaluationTCPChannel() : this(String.Empty, 0) { } 61 72 public EvaluationTCPChannel(string ip, int port) … … 63 74 this.ipAddress = ip; 64 75 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;72 76 } 73 77 … … 87 91 byte[] buffer = EncodeDelimited(message); 88 92 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) { 93 99 socket = null; 94 100 Close(); … … 122 128 byte[] buffer = GetMessageBuffer(); 123 129 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) { 128 136 socket = null; 129 137 Close(); … … 164 172 socket.Disconnect(false); 165 173 socket.Close(); 166 } catch { } 174 } 175 catch { } 167 176 socket = null; 168 177 }
Note: See TracChangeset
for help on using the changeset viewer.