Free cookie consent management tool by TermsFeed Policy Generator

Changeset 5314


Ignore:
Timestamp:
01/17/11 20:03:46 (14 years ago)
Author:
ascheibe
Message:

#1233

  • added ItemView and Item for the Slave
  • added a Tray Icon App for data visualization and control of the slave windows service
  • added control methods to SlaveCommunication for controlling the slave core
  • fixed typo in namespace
Location:
branches/HeuristicLab.Hive-3.4/sources
Files:
17 added
28 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.ConsoleClient-3.4/Program.cs

    r5280 r5314  
    2222using System;
    2323using System.Threading;
    24 using HeuristicLab.Clients.Hive.Salve;
     24using HeuristicLab.Clients.Hive.Slave;
    2525using HeuristicLab.Clients.Hive.Slave.Tests;
    2626
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.SlaveWindowsService

    • Property svn:ignore set to
      bin
      obj
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.SlaveWindowsService/SlaveWindowsService.cs

    r5280 r5314  
    2121using System.ServiceProcess;
    2222using System.Threading;
    23 using HeuristicLab.Clients.Hive.Salve;
     23using HeuristicLab.Clients.Hive.Slave;
    2424
    2525namespace HeuristicLab.Clients.Hive.Slave.SlaveWindowsService {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.SlaveWindowsServiceSetup

    • Property svn:ignore set to
      Debug
      Release
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/Mocks/MockJob.cs

    r5156 r5314  
    110110
    111111    public virtual void Prepare() {
    112       this.ExecutionState = Core.ExecutionState.Prepared;
     112      this.ExecutionState = HeuristicLab.Core.ExecutionState.Prepared;
    113113    }
    114114
     
    137137      }
    138138      catch (Exception e) {
    139         this.ExecutionState = Core.ExecutionState.Stopped;
     139        this.ExecutionState = HeuristicLab.Core.ExecutionState.Stopped;
    140140        OnJobFailed(e);
    141141      }
     
    143143
    144144    public virtual void Pause() {
    145       this.ExecutionState = Core.ExecutionState.Paused;
     145      this.ExecutionState = HeuristicLab.Core.ExecutionState.Paused;
    146146    }
    147147
    148148    public virtual void Stop() {
    149       ExecutionState = Core.ExecutionState.Stopped;
     149      ExecutionState = HeuristicLab.Core.ExecutionState.Stopped;
    150150    }
    151151
    152152    public virtual void Resume(IEnumerable<IJob> childJobs) {
    153       ExecutionState = Core.ExecutionState.Stopped;
     153      ExecutionState = HeuristicLab.Core.ExecutionState.Stopped;
    154154    }
    155155
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveCommListener.cs

    r5280 r5314  
    5050    }
    5151
    52     public void OnStatusChanged(Salve.StatusCommons status) {
     52    public void OnStatusChanged(Slave.StatusCommons status) {
    5353      System.Console.WriteLine("SlaveCommListener: " + status);
    5454    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveTest.cs

    r5158 r5314  
    9292        ((MockHiveService)service.Obj).updateJobs(jobList, job);
    9393
    94         HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core();
     94        HeuristicLab.Clients.Hive.Slave.Core core = new Slave.Core();
    9595        core.Start();
    9696
     
    129129
    130130
    131         HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core();
     131        HeuristicLab.Clients.Hive.Slave.Core core = new Slave.Core();
    132132        core.Start();
    133133
     
    192192
    193193
    194         HeuristicLab.Clients.Hive.Salve.Core core = new Salve.Core();
     194        HeuristicLab.Clients.Hive.Slave.Core core = new Slave.Core();
    195195        core.Start();
    196196        Assert.AreEqual<int>(2, ms.ResultJobs.Count);
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Views/3.4/HeuristicLab.Clients.Hive.Slave.Views-3.4.csproj

    r5264 r5314  
    3939  </PropertyGroup>
    4040  <ItemGroup>
     41    <Reference Include="HeuristicLab.Algorithms.GeneticAlgorithm-3.3">
     42      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.GeneticAlgorithm-3.3.dll</HintPath>
     43    </Reference>
     44    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     45      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
     46    </Reference>
    4147    <Reference Include="HeuristicLab.Common-3.3">
    4248      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
    4349    </Reference>
     50    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     51      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     52    </Reference>
    4453    <Reference Include="HeuristicLab.Core-3.3">
    4554      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     55    </Reference>
     56    <Reference Include="HeuristicLab.Core.Views-3.3">
     57      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath>
     58    </Reference>
     59    <Reference Include="HeuristicLab.Data-3.3">
     60      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
     61    </Reference>
     62    <Reference Include="HeuristicLab.Data.Views-3.3">
     63      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data.Views-3.3.dll</HintPath>
     64    </Reference>
     65    <Reference Include="HeuristicLab.MainForm-3.3">
     66      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
     67    </Reference>
     68    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
     69      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     70    </Reference>
     71    <Reference Include="HeuristicLab.Optimization-3.3">
     72      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
     73    </Reference>
     74    <Reference Include="HeuristicLab.Optimizer-3.3">
     75      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimizer-3.3.dll</HintPath>
    4676    </Reference>
    4777    <Reference Include="HeuristicLab.Persistence-3.3">
     
    5383    <Reference Include="System" />
    5484    <Reference Include="System.Core" />
     85    <Reference Include="System.Drawing" />
     86    <Reference Include="System.ServiceModel" />
    5587    <Reference Include="System.ServiceProcess" />
     88    <Reference Include="System.Windows.Forms" />
    5689    <Reference Include="System.Xml.Linq" />
    5790    <Reference Include="System.Data.DataSetExtensions" />
     
    6093  </ItemGroup>
    6194  <ItemGroup>
     95    <Compile Include="SlaveItem.cs" />
    6296    <None Include="Properties\AssemblyInfo.cs.frame" />
    6397    <None Include="HeuristicLabClientsHiveSlaveViewsPlugin.cs.frame" />
     98    <Compile Include="SlaveView.cs">
     99      <SubType>UserControl</SubType>
     100    </Compile>
     101    <Compile Include="SlaveView.Designer.cs">
     102      <DependentUpon>SlaveView.cs</DependentUpon>
     103    </Compile>
    64104    <Compile Include="HeuristicLabClientsHiveSlaveViewsPlugin.cs" />
    65105    <Compile Include="Properties\AssemblyInfo.cs" />
     
    67107  <ItemGroup>
    68108    <None Include="HeuristicLab.snk" />
     109  </ItemGroup>
     110  <ItemGroup>
     111    <ProjectReference Include="..\..\HeuristicLab.Clients.Hive.Slave\3.4\HeuristicLab.Clients.Hive.Slave-3.4.csproj">
     112      <Project>{989FE92B-484E-41EE-87E2-6A24AF0381D8}</Project>
     113      <Name>HeuristicLab.Clients.Hive.Slave-3.4</Name>
     114    </ProjectReference>
     115  </ItemGroup>
     116  <ItemGroup>
     117    <EmbeddedResource Include="SlaveView.resx">
     118      <DependentUpon>SlaveView.cs</DependentUpon>
     119    </EmbeddedResource>
    69120  </ItemGroup>
    70121  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Views/3.4/HeuristicLabClientsHiveSlaveViewsPlugin.cs.frame

    r5043 r5314  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.Linq;
     
    1132  [PluginDependency("HeuristicLab.Core", "3.3")]
    1233  [PluginDependency("HeuristicLab.Persistence", "3.3")]
     34  [PluginDependency("HeuristicLab.Clients.Hive.Slave", "3.4")]
    1335  public class HeuristicLabClientsHiveSlaveViewsPlugin : PluginBase {
    1436  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ConfigManager.cs

    r5105 r5314  
    2828
    2929
    30 namespace HeuristicLab.Clients.Hive.Salve {
     30namespace HeuristicLab.Clients.Hive.Slave {
    3131  /// <summary>
    3232  /// accesses the Server and sends his data (uuid, uptimes, hardware config)
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Core.cs

    r5280 r5314  
    2626using System.ServiceModel;
    2727using System.Threading;
    28 using HeuristicLab.Clients.Hive.Slave;
    2928using HeuristicLab.Clients.Hive.Slave.ServiceContracts;
    3029using HeuristicLab.Common;
     
    3433
    3534
    36 namespace HeuristicLab.Clients.Hive.Salve {
     35namespace HeuristicLab.Clients.Hive.Slave {
    3736  /// <summary>
    3837  /// The core component of the Hive Client
     
    160159            ShutdownCore();
    161160            break;
     161          case MessageContainer.MessageType.HardPause:
     162            doHardPause();
     163            break;
     164          case MessageContainer.MessageType.SoftPause:
     165            doSoftPause();
     166            break;
     167          case MessageContainer.MessageType.Restart:
     168            doRestart();
     169            break;
    162170        }
    163171      } else {
    164172        ClientCom.LogMessage("Unknown MessageContainer: " + container);
    165173      }
     174    }
     175
     176    /// <summary>
     177    /// reinitializes everything and continues operation,
     178    /// can be called after SoftPause() or HardPause()
     179    /// </summary>
     180    public void Restart() {
     181      MessageContainer mc = new MessageContainer(MessageContainer.MessageType.Restart);
     182      MessageQueue.GetInstance().AddMessage(mc);
     183    }
     184
     185    private void doRestart() {
     186      ClientCom.LogMessage("Restart received");
     187      StartHeartbeats();
     188      ClientCom.LogMessage("Restart done");
     189    }
     190
     191    /// <summary>
     192    /// wait for jobs to finish, then pause client
     193    /// </summary>
     194    public void SoftPause() {
     195      MessageContainer mc = new MessageContainer(MessageContainer.MessageType.SoftPause);
     196      MessageQueue.GetInstance().AddMessage(mc);
     197    }
     198
     199    private void doSoftPause() {
     200      ClientCom.LogMessage("Soft pause received");
     201
     202      //TODO: jobs get removed from Jobs map, is this a problem?
     203      foreach (Job job in Jobs.Values) {
     204        engines[job.Id].Pause();
     205        JobData sJob = engines[job.Id].GetFinishedJob();
     206        job.Exception = engines[job.Id].CurrentException;
     207        job.ExecutionTime = engines[job.Id].ExecutionTime;
     208
     209        try {
     210          ClientCom.LogMessage("Sending the paused job with id: " + job.Id);
     211          wcfService.UpdateJob(job, sJob);
     212          SlaveStatusInfo.JobsProcessed++;    //TODO: count or not count, thats the question
     213        }
     214        catch (Exception e) {
     215          ClientCom.LogMessage("Transmitting to server failed. Storing the paused job with id: " + job.Id + " to hdd (" + e.ToString() + ")");
     216        }
     217        finally {
     218          KillAppDomain(job.Id); // kill app-domain in every case         
     219        }
     220      }
     221
     222      heartbeatManager.StopHeartBeat();
     223      WcfService.Instance.Disconnect();
     224      ClientCom.LogMessage("Soft pause done");
     225    }
     226
     227    /// <summary>
     228    /// pause slave immediately
     229    /// </summary>
     230    public void HardPause() {
     231      MessageContainer mc = new MessageContainer(MessageContainer.MessageType.HardPause);
     232      MessageQueue.GetInstance().AddMessage(mc);
     233    }
     234
     235    private void doHardPause() {
     236      ClientCom.LogMessage("Hard pause received");
     237      heartbeatManager.StopHeartBeat();
     238
     239      lock (engines) {
     240        ClientCom.LogMessage("engines locked");
     241        foreach (KeyValuePair<Guid, AppDomain> kvp in appDomains) {
     242          ClientCom.LogMessage("Shutting down Appdomain for " + kvp.Key);
     243          appDomains[kvp.Key].UnhandledException -= new UnhandledExceptionEventHandler(appDomain_UnhandledException);
     244          AppDomain.Unload(kvp.Value);
     245        }
     246      }
     247      WcfService.Instance.Disconnect();
     248      ClientCom.LogMessage("Hard pause done");
    166249    }
    167250
     
    172255    }
    173256
     257    /// <summary>
     258    /// hard shutdown, should be called before the the application is exited
     259    /// </summary>
    174260    private void ShutdownCore() {
    175261      ClientCom.LogMessage("Shutdown Signal received");
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/DummyListener.cs

    r5156 r5314  
    2929  internal class DummyListener : ISlaveCommunicationCallbacks {
    3030
    31     public void OnStatusChanged(Salve.StatusCommons status) {
     31    public void OnStatusChanged(Slave.StatusCommons status) {
    3232      throw new NotImplementedException("Dummy Listener, don't subscribe it!");
    3333    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Executor.cs

    r5137 r5314  
    2323using System.Collections.Generic;
    2424using System.Linq;
    25 using HeuristicLab.Clients.Hive.Slave;
    2625using HeuristicLab.Common;
    2726using HeuristicLab.Core;
     
    3130
    3231
    33 namespace HeuristicLab.Clients.Hive.Salve {
     32namespace HeuristicLab.Clients.Hive.Slave {
    3433  public class Executor : MarshalByRefObject, IDisposable {
    3534    public Guid JobId { get; set; }
     
    9493    }
    9594
     95    public void Pause() {
     96      Job.Pause();
     97    }
     98
    9699    public void Abort() {
    97100      wasJobAborted = true;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/HeartbeatManager.cs

    r5156 r5314  
    2828using HeuristicLab.Services.Hive.Common.DataTransfer;
    2929
    30 namespace HeuristicLab.Clients.Hive.Salve {
     30namespace HeuristicLab.Clients.Hive.Slave {
    3131  /// <summary>
    3232  /// Heartbeat class. It sends every x ms a heartbeat to the server and receives a Message
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/InvalidStateException.cs

    r5105 r5314  
    2222using System;
    2323
    24 namespace HeuristicLab.Clients.Hive.Salve {
     24namespace HeuristicLab.Clients.Hive.Slave {
    2525  [global::System.Serializable]
    2626  public class InvalidStateException : Exception {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/JobStatus.cs

    r5105 r5314  
    2323using System.Runtime.Serialization;
    2424
    25 namespace HeuristicLab.Clients.Hive.Salve {
     25namespace HeuristicLab.Clients.Hive.Slave {
    2626  [DataContract]
    2727  public class JobStatus {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Logger.cs

    r5137 r5314  
    11using System;
    22
    3 namespace HeuristicLab.Clients.Hive.Salve {
     3namespace HeuristicLab.Clients.Hive.Slave {
    44  /// <summary>
    55  /// Dummy implementation for a logger until a better solution is found;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/MessageQueue.cs

    r5105 r5314  
    2525using HeuristicLab.Services.Hive.Common;
    2626
    27 namespace HeuristicLab.Clients.Hive.Salve {
     27namespace HeuristicLab.Clients.Hive.Slave {
    2828
    2929  /// <summary>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/NetworkEnum.cs

    r5105 r5314  
    2121
    2222
    23 namespace HeuristicLab.Clients.Hive.Salve {
     23namespace HeuristicLab.Clients.Hive.Slave {
    2424  public class NetworkEnum {
    2525    public enum WcfConnState { Connected, Disconnected, Failed } 
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/PluginCache.cs

    r5266 r5314  
    2727using System.Runtime.CompilerServices;
    2828using System.Threading;
    29 using HeuristicLab.Clients.Hive.Salve;
     29using HeuristicLab.Clients.Hive.Slave;
    3030using HeuristicLab.PluginInfrastructure;
    3131using HeuristicLab.PluginInfrastructure.Manager;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ServiceContracts/ISlaveCommunication.cs

    r5156 r5314  
    2121
    2222using System.ServiceModel;
    23 using HeuristicLab.Clients.Hive.Salve;
    2423
    2524namespace HeuristicLab.Clients.Hive.Slave.ServiceContracts {
     
    3433    bool Unsubscribe();
    3534
     35
     36    //commands from gui to slave core
     37    [OperationContract]
     38    void Restart();
     39
     40    [OperationContract]
     41    void HardPause();
     42
     43    [OperationContract]
     44    void SoftPause();
     45
     46    [OperationContract]
     47    void ShutdownSlave();
     48
     49
     50    //callbacks
    3651    [OperationContract]
    3752    void LogMessage(string message);
     
    4257    [OperationContract]
    4358    void Shutdown();
    44 
    4559  }
    4660}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ServiceContracts/ISlaveCommunicationCallbacks.cs

    r5156 r5314  
    2121
    2222using System.ServiceModel;
    23 using HeuristicLab.Clients.Hive.Salve;
     23using HeuristicLab.Clients.Hive.Slave;
    2424
    2525namespace HeuristicLab.Clients.Hive.Slave.ServiceContracts {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/SlaveClientCom.cs

    r5156 r5314  
    2424using HeuristicLab.Clients.Hive.Slave.ServiceContracts;
    2525
    26 namespace HeuristicLab.Clients.Hive.Salve {
     26namespace HeuristicLab.Clients.Hive.Slave {
    2727
    2828  /// <summary>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/SlaveCommunicationService.cs

    r5156 r5314  
    2828  public class SlaveCommunicationService : ISlaveCommunication {
    2929    private static List<ISlaveCommunicationCallbacks> subscribers = new List<ISlaveCommunicationCallbacks>();
     30    public Core SlaveCore { get; set; }
     31
    3032
    3133    public bool Subscribe() {
     
    6365    }
    6466
    65     public void StatusChanged(Salve.StatusCommons status) {
     67    public void StatusChanged(Slave.StatusCommons status) {
    6668      subscribers.ForEach(delegate(ISlaveCommunicationCallbacks callback) {
    6769        if (((ICommunicationObject)callback).State == CommunicationState.Opened) {
     
    8385    }
    8486
     87    public void Restart() {
     88      SlaveCore.Restart();
     89    }
     90    public void HardPause() {
     91      SlaveCore.HardPause();
     92    }
     93
     94    public void SoftPause() {
     95      SlaveCore.SoftPause();
     96    }
     97
     98    public void ShutdownSlave() {
     99      SlaveCore.Shutdown();
     100    }
    85101  }
    86102}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/StatusCommons.cs

    r5105 r5314  
    2424using System.Runtime.Serialization;
    2525
    26 namespace HeuristicLab.Clients.Hive.Salve {
     26namespace HeuristicLab.Clients.Hive.Slave {
    2727  /// <summary>
    2828  /// Various Status Information for the ClientConsole
    2929  /// </summary>
    3030  [DataContract]
    31   public class StatusCommons {   
     31  public class StatusCommons {
    3232    [DataMember]
    3333    public Guid ClientGuid { get; set; }
    3434    [DataMember]
    3535    public NetworkEnum.WcfConnState Status { get; set; }
    36     [DataMember]   
     36    [DataMember]
    3737    public DateTime ConnectedSince { get; set; }
    3838    [DataMember]
     
    4747    public int JobsAborted { get; set; }
    4848    [DataMember]
    49     public List<JobStatus> Jobs { get; set; }   
     49    public List<JobStatus> Jobs { get; set; }
    5050  }
    5151}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/WcfService.cs

    r5156 r5314  
    2929using HeuristicLab.Services.Hive.Common.ServiceContracts;
    3030
    31 namespace HeuristicLab.Clients.Hive.Salve {
     31namespace HeuristicLab.Clients.Hive.Slave {
    3232
    3333  /// <summary>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Hive 3.4.sln

    r5283 r5314  
    4848    Release.AspNetCompiler.FixedNames = "false"
    4949    Release.AspNetCompiler.Debug = "False"
    50     VWDPort = "1649"
     50    VWDPort = "49227"
    5151    DefaultWebSiteLanguage = "Visual C#"
    5252  EndProjectSection
     
    6161EndProject
    6262Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "HeuristicLab.Clients.Hive.Slave.SlaveWindowsServiceSetup", "HeuristicLab.Clients.Hive.Slave.SlaveWindowsServiceSetup\HeuristicLab.Clients.Hive.Slave.SlaveWindowsServiceSetup.vdproj", "{28711372-0255-4883-9BED-81E150D73880}"
     63EndProject
     64Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Clients.Hive.Slave.SlaveTrayIcon", "HeuristicLab.Clients.Hive.Slave.SlaveTrayIcon\HeuristicLab.Clients.Hive.Slave.SlaveTrayIcon.csproj", "{7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}"
    6365EndProject
    6466Global
     
    215217    {28711372-0255-4883-9BED-81E150D73880}.Release|Mixed Platforms.ActiveCfg = Release
    216218    {28711372-0255-4883-9BED-81E150D73880}.Release|x86.ActiveCfg = Release
     219    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     220    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
     221    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
     222    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|Mixed Platforms.Build.0 = Debug|x86
     223    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|x86.ActiveCfg = Debug|x86
     224    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Debug|x86.Build.0 = Debug|x86
     225    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Release|Any CPU.ActiveCfg = Release|x86
     226    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Release|Mixed Platforms.ActiveCfg = Release|x86
     227    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Release|Mixed Platforms.Build.0 = Release|x86
     228    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Release|x86.ActiveCfg = Release|x86
     229    {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA}.Release|x86.Build.0 = Release|x86
    217230  EndGlobalSection
    218231  GlobalSection(SolutionProperties) = preSolution
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/MessageContainer.cs

    r5137 r5314  
    3939      AbortJob,  // slave should shut the job down immediately without submitting results
    4040      PauseJob,  // pause the job and submit the results
    41       StopSlave,      // slave should stop all jobs, submit results and shut itself down
     41      SoftPause,      // slave should stop all jobs, submit results and pause
     42      HardPause,      // abort jobs and pause
     43      Restart,        //restart operation after Soft/HardPause
    4244      ShutdownSlave,  // slave should shutdown immediately without submitting results
    4345      SayHello,  // Slave should say hello, because he is unknown to the server
Note: See TracChangeset for help on using the changeset viewer.