Changeset 4629 for branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common
- Timestamp:
- 10/20/10 15:05:55 (14 years ago)
- Location:
- branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3
- Files:
-
- 1 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3
- Property svn:ignore
-
old new 1 1 bin 2 2 obj 3 *.user
-
- Property svn:ignore
-
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/Appointment.cs
r4593 r4629 22 22 using System; 23 23 using System.Runtime.Serialization; 24 using HeuristicLab.Common; 24 25 25 26 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 38 39 [DataMember] 39 40 public Guid ResourceId { get; set; } 41 42 public override IDeepCloneable Clone(Cloner cloner) { 43 Appointment clone = (Appointment)base.Clone(cloner); 44 clone.AllDayEvent = this.AllDayEvent; 45 clone.EndDate = this.EndDate; 46 clone.Recurring = this.Recurring; 47 clone.RecurringId = this.RecurringId; 48 clone.ResourceId = this.ResourceId; 49 clone.StartDate = this.StartDate; 50 return clone; 51 } 40 52 } 41 53 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/HeartBeat.cs
r4593 r4629 27 27 28 28 [DataContract] 29 public class Heart Beat {29 public class Heartbeat { 30 30 [DataMember] 31 31 public Guid SlaveId { get; set; } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/HiveExperiment.cs
r4593 r4629 39 39 return base.ToString() + "Name: " + Name + ", Description: " + Description + ", ResourceIds: " + ResourceIds; 40 40 } 41 42 public HiveExperiment() { 41 42 public override IDeepCloneable Clone(Cloner cloner) { 43 var clone = (HiveExperiment)base.Clone(cloner); 44 clone.ResourceIds = this.ResourceIds; 45 clone.RootJobId = this.RootJobId; 46 clone.UserId = this.UserId; 47 return clone; 43 48 } 44 49 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/HiveItem.cs
r4593 r4629 4 4 using System.Text; 5 5 using System.Runtime.Serialization; 6 using HeuristicLab.Common; 6 7 7 8 namespace HeuristicLab.Services.Hive.Common.DataTransfer { 8 9 [DataContract] 9 public abstract class HiveItem {10 public abstract class HiveItem : IDeepCloneable { 10 11 [DataMember] 11 12 public Guid Id { get; set; } 13 14 public virtual IDeepCloneable Clone(Cloner cloner) { 15 HiveItem clone = (HiveItem)Activator.CreateInstance(this.GetType(), true); 16 cloner.RegisterClonedObject(this, clone); 17 clone.Id = this.Id; 18 return clone; 19 } 20 21 public object Clone() { 22 return Clone(new Cloner()); 23 } 12 24 } 13 25 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/HivePlugin.cs
r4593 r4629 24 24 using System.Linq; 25 25 using System.Runtime.Serialization; 26 using HeuristicLab.Common; 26 27 27 28 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 32 33 public Version Version { get; set; } 33 34 [DataMember] 34 public Boolean Update { get; set; } 35 public bool Update { get; set; } 36 37 public override IDeepCloneable Clone(Cloner cloner) { 38 var clone = (HivePlugin)base.Clone(cloner); 39 clone.Version = this.Version; 40 clone.Update = this.Update; 41 return clone; 42 } 35 43 } 36 44 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/HivePluginData.cs
r4598 r4629 22 22 using System; 23 23 using System.Runtime.Serialization; 24 using HeuristicLab.Common; 24 25 25 26 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 34 35 Name = name; 35 36 } 37 38 public override IDeepCloneable Clone(Cloner cloner) { 39 var clone = (HivePluginData)base.Clone(cloner); 40 if (this.Data != null) clone.Data = new byte[this.Data.Length]; Array.Copy(this.Data, clone.Data, this.Data.Length); 41 return clone; 42 } 36 43 } 37 44 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/Job.cs
r4615 r4629 55 55 AssignedResourceIds = new List<Guid>(); 56 56 } 57 58 public override IDeepCloneable Clone(Cloner cloner) { 59 var clone = (Job)base.Clone(cloner); 60 clone.UserId = this.UserId; 61 clone.Priority = this.Priority; 62 clone.CoresNeeded = this.CoresNeeded; 63 clone.MemoryNeeded = this.MemoryNeeded; 64 clone.PluginsNeededIds = new List<Guid>(this.PluginsNeededIds); 65 clone.AssignedResourceIds = new List<Guid>(this.AssignedResourceIds); 66 clone.ProjectId = this.ProjectId; 67 return clone; 68 } 57 69 } 58 70 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/JobData.cs
r4598 r4629 23 23 using System.IO; 24 24 using System.Runtime.Serialization; 25 using HeuristicLab.Common; 25 26 26 27 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 32 33 [DataMember] 33 34 public byte[] Data { get; set; } 35 36 public override IDeepCloneable Clone(Cloner cloner) { 37 var clone = (JobData)base.Clone(cloner); 38 if (this.Data != null) clone.Data = new byte[this.Data.Length]; Array.Copy(this.Data, clone.Data, this.Data.Length); 39 return clone; 40 } 34 41 } 35 42 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/LightweightJob.cs
r4598 r4629 22 22 using System; 23 23 using System.Runtime.Serialization; 24 using HeuristicLab.Common; 24 25 25 26 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 56 57 this.ParentJobId = job.ParentJobId; 57 58 } 59 60 public override IDeepCloneable Clone(Cloner cloner) { 61 var clone = (LightweightJob)base.Clone(cloner); 62 clone.SlaveId = this.SlaveId; 63 clone.State = this.State; 64 clone.ExecutionTime = this.ExecutionTime; 65 clone.Exception = this.Exception; 66 clone.DateCreated = this.DateCreated; 67 clone.DateCalculated = this.DateCalculated; 68 clone.DateFinished = this.DateFinished; 69 clone.ParentJobId = this.ParentJobId; 70 return clone; 71 } 58 72 } 59 73 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/NamedHiveItem.cs
r4593 r4629 4 4 using System.Text; 5 5 using System.Runtime.Serialization; 6 using HeuristicLab.Common; 6 7 7 8 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 12 13 [DataMember] 13 14 public string Description { get; set; } 15 16 public override IDeepCloneable Clone(Cloner cloner) { 17 var clone = (NamedHiveItem)base.Clone(cloner); 18 clone.Name = this.Name; 19 clone.Description = this.Description; 20 return clone; 21 } 14 22 } 15 23 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/Slave.cs
r4593 r4629 29 29 public class Slave : Resource { 30 30 [DataMember] 31 public int? NrOfCores { get; set; }31 public int? Cores { get; set; } 32 32 [DataMember] 33 public int? NrOfFreeCores { get; set; }33 public int? FreeCores { get; set; } 34 34 [DataMember] 35 35 public int? CpuSpeedPerCore { get; set; } … … 39 39 public int? FreeMemory { get; set; } 40 40 [DataMember] 41 public DateTime? Login { get; set; }42 [DataMember]43 41 public SlaveState State { get; set; } 44 42 [DataMember] 45 43 public CalendarState CalendarSyncStatus { get; set; } 46 44 [DataMember] 47 public SlaveConfig Config{ get; set; }45 public Guid SlaveConfigId { get; set; } 48 46 [DataMember] 49 47 public bool IsAllowedToCalculate { get; set; } 50 48 51 49 public override string ToString() { 52 return base.ToString() + ", NrOfCores: " + NrOfCores + ", NrOfFreeCores " + NrOfFreeCores + ", Login: " + Login + ", State: " + State; 50 return base.ToString() + ", NrOfCores: " + Cores + ", NrOfFreeCores " + FreeCores + ", State: " + State; 51 } 52 53 public override IDeepCloneable Clone(Cloner cloner) { 54 var clone = (Slave)base.Clone(cloner); 55 clone.Cores = this.Cores; 56 clone.FreeCores = this.FreeCores; 57 clone.CpuSpeedPerCore = this.CpuSpeedPerCore; 58 clone.Memory = this.Memory; 59 clone.FreeMemory = this.FreeMemory; 60 clone.State = this.State; 61 clone.CalendarSyncStatus = this.CalendarSyncStatus; 62 clone.SlaveConfigId = this.SlaveConfigId; 63 clone.IsAllowedToCalculate = this.IsAllowedToCalculate; 64 return clone; 53 65 } 54 66 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/SlaveConfig.cs
r4593 r4629 32 32 [DataMember] 33 33 public int? HeartBeatIntervall { get; set; } 34 35 public override IDeepCloneable Clone(Cloner cloner) { 36 var clone = (SlaveConfig)base.Clone(cloner); 37 clone.UpDownTimeCalendar = this.UpDownTimeCalendar; 38 clone.HeartBeatIntervall = this.HeartBeatIntervall; 39 return clone; 40 } 34 41 } 35 42 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/SlaveGroup.cs
r4593 r4629 23 23 using System.Linq; 24 24 using System.Runtime.Serialization; 25 using System; 26 using HeuristicLab.Common; 25 27 26 28 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 28 30 public class SlaveGroup : Resource { 29 31 [DataMember] 30 public List< Resource> Resources { get; set; }32 public List<Guid> ResourcesIds { get; set; } 31 33 32 34 public SlaveGroup() { 33 Resources = new List<Resource>(); 35 ResourcesIds = new List<Guid>(); 36 } 37 38 public override IDeepCloneable Clone(Cloner cloner) { 39 var clone = (SlaveGroup)base.Clone(cloner); 40 clone.ResourcesIds = new List<Guid>(this.ResourcesIds); 41 return clone; 34 42 } 35 43 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/SlaveState.cs
r4593 r4629 23 23 namespace HeuristicLab.Services.Hive.Common.DataTransfer { 24 24 public enum SlaveState { 25 NullState,26 25 Idle, 27 26 Calculating, -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/DataTransfer/UpTimeStatistics.cs
r4593 r4629 22 22 using System; 23 23 using System.Runtime.Serialization; 24 using HeuristicLab.Common; 24 25 25 26 namespace HeuristicLab.Services.Hive.Common.DataTransfer { … … 27 28 public class UpTimeStatistics : HiveItem { 28 29 [DataMember] 29 public Slave Slave{ get; set; }30 public Guid SlaveId { get; set; } 30 31 [DataMember] 31 32 public DateTime Login { get; set; } 32 33 [DataMember] 33 34 public DateTime Logout { get; set; } 35 36 public override IDeepCloneable Clone(Cloner cloner) { 37 var clone = (UpTimeStatistics)base.Clone(cloner); 38 clone.SlaveId = this.SlaveId; 39 clone.Login = this.Login; 40 clone.Logout = this.Logout; 41 return clone; 42 } 34 43 } 35 44 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/HeuristicLab.Services.Hive.Common-3.3.csproj
r4598 r4629 30 30 <ErrorReport>prompt</ErrorReport> 31 31 <WarningLevel>4</WarningLevel> 32 </PropertyGroup> 33 <PropertyGroup> 34 <SignAssembly>true</SignAssembly> 35 </PropertyGroup> 36 <PropertyGroup> 37 <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile> 32 38 </PropertyGroup> 33 39 <ItemGroup> … … 81 87 <Compile Include="ServiceContracts\IHiveService.cs" /> 82 88 </ItemGroup> 89 <ItemGroup> 90 <None Include="HeuristicLab.snk" /> 91 </ItemGroup> 83 92 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 84 93 <PropertyGroup> -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/MessageContainer.cs
r4615 r4629 43 43 JobFailed, 44 44 UptimeLimitDisconnect, 45 FetchOrForceFetchCalendar,45 UpdateCalendar, 46 46 AddChildJob, 47 47 PauseJob, -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Services.Hive.Common/3.3/ServiceContracts/IHiveService.cs
r4615 r4629 6 6 using System.IO; 7 7 using HeuristicLab.Services.Hive.Common.DataTransfer; 8 using System.Net.Security; 8 9 9 10 namespace HeuristicLab.Services.Hive.Common.ServiceContracts { 11 12 [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)] 10 13 public interface IHiveService { 11 14 12 // todo: Rename:13 // Result is ambiguous; sometimes it refers to a serialized job which has finished, sometimes it is the current state of the job14 15 #region Job Methods 15 16 [OperationContract] … … 81 82 82 83 #region HiveExperiment Methods 84 [OperationContract] 85 HiveExperiment GetHiveExperiment(Guid id); 86 83 87 /// <summary> 84 88 /// Returns all experiments for the current user … … 86 90 [OperationContract] 87 91 IEnumerable<HiveExperiment> GetHiveExperiments(); 92 93 [OperationContract] 94 Guid AddHiveExperiment(HiveExperiment hiveExperimentDto); 88 95 89 96 [OperationContract] … … 113 120 /// </summary> 114 121 /// <returns></returns> 115 [OperationContract]116 void Login();117 /// <summary>118 /// This method registers the slave and marks it as online119 /// </summary>120 [OperationContract]121 void Login(Slave slave);122 [OperationContract]123 void Logout(Guid clientId);122 //[OperationContract] 123 //void Login(); 124 ///// <summary> 125 ///// This method registers the slave and marks it as online 126 ///// </summary> 127 //[OperationContract] 128 //void Login(Slave slave); 129 //[OperationContract] 130 //void Logout(Guid clientId); 124 131 #endregion 125 132 126 133 #region Heartbeat Methods 127 134 [OperationContract] 128 List<MessageContainer> ProcessHeart Beat(HeartBeat heartbeat);135 List<MessageContainer> ProcessHeartbeat(Heartbeat heartbeat); 129 136 #endregion 130 137 … … 138 145 #region Calendar Methods 139 146 [OperationContract] 140 IEnumerable<Appointment> GetCalendar(Guid clientId);147 IEnumerable<Appointment> GetCalendar(Guid slaveId); 141 148 [OperationContract] 142 149 void SetCalendarStatus(Guid clientId, CalendarState state); … … 171 178 [OperationContract] 172 179 void RemoveResourceFromGroup(Guid slaveGroupId, Guid resourceId); 180 181 [OperationContract] 182 void UpdateSlave(Slave slave); 173 183 #endregion 174 184
Note: See TracChangeset
for help on using the changeset viewer.