Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/17/10 10:26:55 (14 years ago)
Author:
cneumuel
Message:
  • Refactored HL.Hive.Experiment. JobItems are not called HiveJobs and OptimizerJobs do not contain a hierarchy anymore.
  • Dynamic generation of jobs on a slave are not reflected on the client user interface.
  • Optimizer-Trees are now strictly synchronized with the HiveJob-Trees (also the ComputeInParallel property is taken into account when the Child HiveJobs are created)
  • Improved the way a class can report progress and lock the UI (IProgressReporter, IProgress, Progress, ProgressView)
  • Changes were made to the config-files, so that server and clients work with blade12.hpc.fh-hagenberg.at
  • Lots of small changes and bugfixes
Location:
branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3
Files:
11 added
11 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj

    r4368 r4423  
    142142      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    143143    </None>
    144     <None Include="Service References\SlaveFacade\Arrays.xsd">
    145       <SubType>Designer</SubType>
    146     </None>
    147     <None Include="Service References\SlaveFacade\HeuristicLab.DataAccess.xsd">
    148       <SubType>Designer</SubType>
    149     </None>
    150     <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts.BusinessObjects.xsd">
    151       <SubType>Designer</SubType>
    152     </None>
    153     <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts.ResponseObjects.xsd">
    154       <SubType>Designer</SubType>
    155     </None>
    156     <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts.xsd">
    157       <SubType>Designer</SubType>
    158     </None>
    159     <None Include="Service References\SlaveFacade\HeuristicLab.PluginInfrastructure.xsd">
    160       <SubType>Designer</SubType>
    161     </None>
    162     <None Include="Service References\SlaveFacade\Message.xsd">
    163       <SubType>Designer</SubType>
    164     </None>
    165     <None Include="Service References\SlaveFacade\service.wsdl" />
    166     <None Include="Service References\SlaveFacade\service.xsd">
    167       <SubType>Designer</SubType>
    168     </None>
    169     <None Include="Service References\SlaveFacade\service1.xsd">
    170       <SubType>Designer</SubType>
    171     </None>
    172     <None Include="Service References\SlaveFacade\System.xsd">
     144    <None Include="Service References\SlaveFacade\Arrays1.xsd">
     145      <SubType>Designer</SubType>
     146    </None>
     147    <None Include="Service References\SlaveFacade\HeuristicLab.DataAccess1.xsd">
     148      <SubType>Designer</SubType>
     149    </None>
     150    <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts.BusinessObjects1.xsd">
     151      <SubType>Designer</SubType>
     152    </None>
     153    <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts.ResponseObjects1.xsd">
     154      <SubType>Designer</SubType>
     155    </None>
     156    <None Include="Service References\SlaveFacade\HeuristicLab.Hive.Contracts1.xsd">
     157      <SubType>Designer</SubType>
     158    </None>
     159    <None Include="Service References\SlaveFacade\HeuristicLab.PluginInfrastructure1.xsd">
     160      <SubType>Designer</SubType>
     161    </None>
     162    <None Include="Service References\SlaveFacade\Message1.xsd">
     163      <SubType>Designer</SubType>
     164    </None>
     165    <None Include="Service References\SlaveFacade\service1.wsdl" />
     166    <None Include="Service References\SlaveFacade\service2.xsd">
     167      <SubType>Designer</SubType>
     168    </None>
     169    <None Include="Service References\SlaveFacade\service21.xsd">
     170      <SubType>Designer</SubType>
     171    </None>
     172    <None Include="Service References\SlaveFacade\System1.xsd">
    173173      <SubType>Designer</SubType>
    174174    </None>
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveFacade/Reference.cs

    r4368 r4423  
    4646       
    4747        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResultResponse")]
    48         HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
     48        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception);
    4949       
    5050        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResultResponse")]
    51         System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
     51        System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, System.AsyncCallback callback, object asyncState);
    5252       
    5353        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result);
    5454       
    5555        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshotResponse")]
    56         HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
     56        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception);
    5757       
    5858        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshotResponse")]
    59         System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
     59        System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, System.AsyncCallback callback, object asyncState);
    6060       
    6161        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result);
     
    179179       
    180180        HeuristicLab.Hive.Contracts.BusinessObjects.SerializedJob EndGetLastSerializedResult(System.IAsyncResult result);
     181       
     182        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveFacade/DeleteChildJobs", ReplyAction="http://tempuri.org/ISlaveFacade/DeleteChildJobsResponse")]
     183        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat))]
     184        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>))]
     185        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived))]
     186        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>))]
     187        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar))]
     188        HeuristicLab.Hive.Contracts.ResponseObjects.Response DeleteChildJobs(System.Guid jobId);
     189       
     190        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveFacade/DeleteChildJobs", ReplyAction="http://tempuri.org/ISlaveFacade/DeleteChildJobsResponse")]
     191        System.IAsyncResult BeginDeleteChildJobs(System.Guid jobId, System.AsyncCallback callback, object asyncState);
     192       
     193        HeuristicLab.Hive.Contracts.ResponseObjects.Response EndDeleteChildJobs(System.IAsyncResult result);
    181194    }
    182195   
     
    529542    [System.Diagnostics.DebuggerStepThroughAttribute()]
    530543    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     544    public partial class DeleteChildJobsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
     545       
     546        private object[] results;
     547       
     548        public DeleteChildJobsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
     549                base(exception, cancelled, userState) {
     550            this.results = results;
     551        }
     552       
     553        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Result {
     554            get {
     555                base.RaiseExceptionIfNecessary();
     556                return ((HeuristicLab.Hive.Contracts.ResponseObjects.Response)(this.results[0]));
     557            }
     558        }
     559    }
     560   
     561    [System.Diagnostics.DebuggerStepThroughAttribute()]
     562    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    531563    public partial class SlaveFacadeClient : System.ServiceModel.ClientBase<HeuristicLab.Hive.Slave.Communication.SlaveFacade.ISlaveFacade>, HeuristicLab.Hive.Slave.Communication.SlaveFacade.ISlaveFacade {
    532564       
     
    638670       
    639671        private System.Threading.SendOrPostCallback onGetLastSerializedResultCompletedDelegate;
     672       
     673        private BeginOperationDelegate onBeginDeleteChildJobsDelegate;
     674       
     675        private EndOperationDelegate onEndDeleteChildJobsDelegate;
     676       
     677        private System.Threading.SendOrPostCallback onDeleteChildJobsCompletedDelegate;
    640678       
    641679        public SlaveFacadeClient() {
     
    693731       
    694732        public event System.EventHandler<GetLastSerializedResultCompletedEventArgs> GetLastSerializedResultCompleted;
     733       
     734        public event System.EventHandler<DeleteChildJobsCompletedEventArgs> DeleteChildJobsCompleted;
    695735       
    696736        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Login(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave) {
     
    844884        }
    845885       
    846         public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
    847             return base.Channel.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
    848         }
    849        
    850         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    851         public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
    852             return base.Channel.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
     886        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception) {
     887            return base.Channel.StoreFinishedJobResult(clientId, jobId, result, executionTime, exception);
     888        }
     889       
     890        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     891        public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, System.AsyncCallback callback, object asyncState) {
     892            return base.Channel.BeginStoreFinishedJobResult(clientId, jobId, result, executionTime, exception, callback, asyncState);
    853893        }
    854894       
     
    862902            System.Guid jobId = ((System.Guid)(inValues[1]));
    863903            byte[] result = ((byte[])(inValues[2]));
    864             double percentage = ((double)(inValues[3]));
     904            System.TimeSpan executionTime = ((System.TimeSpan)(inValues[3]));
    865905            string exception = ((string)(inValues[4]));
    866             return this.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
     906            return this.BeginStoreFinishedJobResult(clientId, jobId, result, executionTime, exception, callback, asyncState);
    867907        }
    868908       
     
    880920        }
    881921       
    882         public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
    883             this.StoreFinishedJobResultAsync(clientId, jobId, result, percentage, exception, null);
    884         }
    885        
    886         public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
     922        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception) {
     923            this.StoreFinishedJobResultAsync(clientId, jobId, result, executionTime, exception, null);
     924        }
     925       
     926        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, object userState) {
    887927            if ((this.onBeginStoreFinishedJobResultDelegate == null)) {
    888928                this.onBeginStoreFinishedJobResultDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResult);
     
    898938                        jobId,
    899939                        result,
    900                         percentage,
     940                        executionTime,
    901941                        exception}, this.onEndStoreFinishedJobResultDelegate, this.onStoreFinishedJobResultCompletedDelegate, userState);
    902942        }
    903943       
    904         public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
    905             return base.Channel.ProcessSnapshot(clientId, jobId, result, percentage, exception);
    906         }
    907        
    908         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    909         public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
    910             return base.Channel.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
     944        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception) {
     945            return base.Channel.ProcessSnapshot(clientId, jobId, result, executionTime, exception);
     946        }
     947       
     948        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     949        public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, System.AsyncCallback callback, object asyncState) {
     950            return base.Channel.BeginProcessSnapshot(clientId, jobId, result, executionTime, exception, callback, asyncState);
    911951        }
    912952       
     
    920960            System.Guid jobId = ((System.Guid)(inValues[1]));
    921961            byte[] result = ((byte[])(inValues[2]));
    922             double percentage = ((double)(inValues[3]));
     962            System.TimeSpan executionTime = ((System.TimeSpan)(inValues[3]));
    923963            string exception = ((string)(inValues[4]));
    924             return this.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
     964            return this.BeginProcessSnapshot(clientId, jobId, result, executionTime, exception, callback, asyncState);
    925965        }
    926966       
     
    938978        }
    939979       
    940         public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
    941             this.ProcessSnapshotAsync(clientId, jobId, result, percentage, exception, null);
    942         }
    943        
    944         public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
     980        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception) {
     981            this.ProcessSnapshotAsync(clientId, jobId, result, executionTime, exception, null);
     982        }
     983       
     984        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, System.TimeSpan executionTime, string exception, object userState) {
    945985            if ((this.onBeginProcessSnapshotDelegate == null)) {
    946986                this.onBeginProcessSnapshotDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshot);
     
    956996                        jobId,
    957997                        result,
    958                         percentage,
     998                        executionTime,
    959999                        exception}, this.onEndProcessSnapshotDelegate, this.onProcessSnapshotCompletedDelegate, userState);
    9601000        }
     
    16171657                        jobId}, this.onEndGetLastSerializedResultDelegate, this.onGetLastSerializedResultCompletedDelegate, userState);
    16181658        }
     1659       
     1660        public HeuristicLab.Hive.Contracts.ResponseObjects.Response DeleteChildJobs(System.Guid jobId) {
     1661            return base.Channel.DeleteChildJobs(jobId);
     1662        }
     1663       
     1664        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     1665        public System.IAsyncResult BeginDeleteChildJobs(System.Guid jobId, System.AsyncCallback callback, object asyncState) {
     1666            return base.Channel.BeginDeleteChildJobs(jobId, callback, asyncState);
     1667        }
     1668       
     1669        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     1670        public HeuristicLab.Hive.Contracts.ResponseObjects.Response EndDeleteChildJobs(System.IAsyncResult result) {
     1671            return base.Channel.EndDeleteChildJobs(result);
     1672        }
     1673       
     1674        private System.IAsyncResult OnBeginDeleteChildJobs(object[] inValues, System.AsyncCallback callback, object asyncState) {
     1675            System.Guid jobId = ((System.Guid)(inValues[0]));
     1676            return this.BeginDeleteChildJobs(jobId, callback, asyncState);
     1677        }
     1678       
     1679        private object[] OnEndDeleteChildJobs(System.IAsyncResult result) {
     1680            HeuristicLab.Hive.Contracts.ResponseObjects.Response retVal = this.EndDeleteChildJobs(result);
     1681            return new object[] {
     1682                    retVal};
     1683        }
     1684       
     1685        private void OnDeleteChildJobsCompleted(object state) {
     1686            if ((this.DeleteChildJobsCompleted != null)) {
     1687                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
     1688                this.DeleteChildJobsCompleted(this, new DeleteChildJobsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
     1689            }
     1690        }
     1691       
     1692        public void DeleteChildJobsAsync(System.Guid jobId) {
     1693            this.DeleteChildJobsAsync(jobId, null);
     1694        }
     1695       
     1696        public void DeleteChildJobsAsync(System.Guid jobId, object userState) {
     1697            if ((this.onBeginDeleteChildJobsDelegate == null)) {
     1698                this.onBeginDeleteChildJobsDelegate = new BeginOperationDelegate(this.OnBeginDeleteChildJobs);
     1699            }
     1700            if ((this.onEndDeleteChildJobsDelegate == null)) {
     1701                this.onEndDeleteChildJobsDelegate = new EndOperationDelegate(this.OnEndDeleteChildJobs);
     1702            }
     1703            if ((this.onDeleteChildJobsCompletedDelegate == null)) {
     1704                this.onDeleteChildJobsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDeleteChildJobsCompleted);
     1705            }
     1706            base.InvokeAsync(this.onBeginDeleteChildJobsDelegate, new object[] {
     1707                        jobId}, this.onEndDeleteChildJobsDelegate, this.onDeleteChildJobsCompletedDelegate, userState);
     1708        }
    16191709    }
    16201710}
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveFacade/Reference.svcmap

    r4368 r4423  
    1919  </ClientOptions>
    2020  <MetadataSources>
    21     <MetadataSource Address="http://localhost:9000/SlaveService/mex" Protocol="mex" SourceId="1" />
     21    <MetadataSource Address="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" Protocol="mex" SourceId="1" />
    2222  </MetadataSources>
    2323  <Metadata>
    24     <MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="dcf9b8de-fa8b-4a06-918e-78a8745e2302" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    25     <MetadataFile FileName="service.xsd" MetadataType="Schema" ID="9faa3ead-f748-4382-89b5-59c6b7f8fd9f" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    26     <MetadataFile FileName="service1.xsd" MetadataType="Schema" ID="6c39d767-dc42-4385-bf62-da3598ad90d7" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    27     <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects.xsd" MetadataType="Schema" ID="32fd4d95-00f1-4e54-a309-e3a757038728" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    28     <MetadataFile FileName="HeuristicLab.DataAccess.xsd" MetadataType="Schema" ID="7132388d-ae5d-42f6-852b-2efef1734b5f" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    29     <MetadataFile FileName="HeuristicLab.Hive.Contracts.ResponseObjects.xsd" MetadataType="Schema" ID="23f0123d-4cb9-4dc0-bb56-3f96933c2019" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    30     <MetadataFile FileName="HeuristicLab.Hive.Contracts.xsd" MetadataType="Schema" ID="43cac61f-a998-40b2-bb22-de5bd6c549db" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    31     <MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="994dcbb5-effa-481c-84cf-788a8ba6bb46" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    32     <MetadataFile FileName="System.xsd" MetadataType="Schema" ID="c73812f0-bba6-41c6-b2c0-e186ab8c5827" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    33     <MetadataFile FileName="HeuristicLab.PluginInfrastructure.xsd" MetadataType="Schema" ID="22532107-63f9-484c-b5ab-d16f632a8f21" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
    34     <MetadataFile FileName="Message.xsd" MetadataType="Schema" ID="e12260d0-b856-4848-8dc2-8946cd4e4635" SourceId="1" SourceUrl="http://localhost:9000/SlaveService/mex" />
     24    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="3378e28e-2f1b-4274-bfdf-1922e827f71e" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     25    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="7efebd30-71c7-4f82-baae-cba867e54784" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     26    <MetadataFile FileName="service21.xsd" MetadataType="Schema" ID="a5a5daf6-1f78-42a7-9d88-3339354d4de6" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     27    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="03898186-dcc3-4c45-b304-f25deefab2d7" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     28    <MetadataFile FileName="HeuristicLab.DataAccess1.xsd" MetadataType="Schema" ID="62186c45-7323-4efd-9496-a95072980415" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     29    <MetadataFile FileName="HeuristicLab.Hive.Contracts.ResponseObjects1.xsd" MetadataType="Schema" ID="bdc88c01-4660-4912-abf0-9a3a921ece0d" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     30    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="76d8dcc5-4911-4e88-8144-c661c29f8c8e" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     31    <MetadataFile FileName="Arrays1.xsd" MetadataType="Schema" ID="9f205a9d-36bb-48d2-b0a1-1fe218e963c8" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     32    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="2738facc-921c-49ee-8403-d40bb6bab3bd" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     33    <MetadataFile FileName="HeuristicLab.PluginInfrastructure1.xsd" MetadataType="Schema" ID="1cee4177-2a7a-4ab4-8d62-c6bfbb8e1f27" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
     34    <MetadataFile FileName="Message1.xsd" MetadataType="Schema" ID="df11619f-40b0-4bd9-90e7-e543e63e2abf" SourceId="1" SourceUrl="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService/mex" />
    3535  </Metadata>
    3636  <Extensions>
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveFacade/configuration.svcinfo

    r4368 r4423  
    77  </bindings>
    88  <endpoints>
    9     <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAJ5p7xBv8o/BZ9Lp1c1d+F13FxN8gAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgzMDA5MTMyMVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbjJrhOtSpfFz51JPvdfxMVSKqnWhfzjrZvtwpVsy8D589m3SeS6AalWwtkpPCR2C+a4GKo9e689o0+BtuOugypAWqkUhkz//XLvUp5KPNB7igY7he4ngMLp4GsWBWZdl+P8g29t5+nde1Tiv6dPzx5YgfB9lrvZzaS6TT/eNasQIDAQABo0kwRzBFBgNVHQEEPjA8gBBPTuRH17g8MfpeT/ODWdXuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQADgYEAUpgK4sUxAqwR8eyRK8cmyzhhN31xN8/nKPIo9cETaNvjJXL8zO7DeXCyyiBETAkfnhIChRIAmE/PjxvFdB2fOuQY3/OHrobai+G7IQ8SHF+AKdx7cJXt0h4Okny4DpPjQl4V9P2lZaG8fVXmpKhpeZ+ChA8Y/xPCDzTzLleQ/mY=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAJ5p7xBv8o/BZ9Lp1c1d+F13FxN8gAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgzMDA5MTMyMVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbjJrhOtSpfFz51JPvdfxMVSKqnWhfzjrZvtwpVsy8D589m3SeS6AalWwtkpPCR2C+a4GKo9e689o0+BtuOugypAWqkUhkz//XLvUp5KPNB7igY7he4ngMLp4GsWBWZdl+P8g29t5+nde1Tiv6dPzx5YgfB9lrvZzaS6TT/eNasQIDAQABo0kwRzBFBgNVHQEEPjA8gBBPTuRH17g8MfpeT/ODWdXuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQADgYEAUpgK4sUxAqwR8eyRK8cmyzhhN31xN8/nKPIo9cETaNvjJXL8zO7DeXCyyiBETAkfnhIChRIAmE/PjxvFdB2fOuQY3/OHrobai+G7IQ8SHF+AKdx7cJXt0h4Okny4DpPjQl4V9P2lZaG8fVXmpKhpeZ+ChA8Y/xPCDzTzLleQ/mY=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveFacade.ISlaveFacade" name="SlaveHttpEndpoint" />
    10     <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveFacade.ISlaveFacade" name="SlaveTcpStreamedEndpoint" />
     9    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAA0FkTGjOA2/0cZmFlIwFildV5a/ogAAAAAQAAACgCAAAwggIkMIIBkaADAgECAhCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQAwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MB4XDTEwMDkxNTE0MjkyNFoXDTM5MTIzMTIzNTk1OVowJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN/VsuexELvneBS+KjIT4z1oj8VwitpZJDhCVxVM1hBVAXRJ9qE0zwFwen6KWRXKMx0wZvm47CdkENO0krsqfliQRKb0hcMin+37X8u1Xk51qebV3M0kUAEpsRT6RehQD41+iGe1GmIaLksCEYaH80wPWI7F3N/tN+5svizD0sfQIDAQABo1swWTBXBgNVHQEEUDBOgBBJWfbAcVJ+egMO9eh/uP3hoSgwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0ghCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQADgYEApOwttaruQRFtS8SWslEDt+aKzIUnfKrJ+7U7Fml5+QT7G4+5bXnfOs5gcWKDQyyap9y3AJpjPnGaLzwb/8LwlqKXePRQvOW44O5JLwOTo3TD4ZPKANuBblD7J7TYGyXKTUQcytfQl1uOxELWNBj4IpUEbR1C/S4RmupMivLNQoA=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAA0FkTGjOA2/0cZmFlIwFildV5a/ogAAAAAQAAACgCAAAwggIkMIIBkaADAgECAhCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQAwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MB4XDTEwMDkxNTE0MjkyNFoXDTM5MTIzMTIzNTk1OVowJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN/VsuexELvneBS+KjIT4z1oj8VwitpZJDhCVxVM1hBVAXRJ9qE0zwFwen6KWRXKMx0wZvm47CdkENO0krsqfliQRKb0hcMin+37X8u1Xk51qebV3M0kUAEpsRT6RehQD41+iGe1GmIaLksCEYaH80wPWI7F3N/tN+5svizD0sfQIDAQABo1swWTBXBgNVHQEEUDBOgBBJWfbAcVJ+egMO9eh/uP3hoSgwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0ghCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQADgYEApOwttaruQRFtS8SWslEDt+aKzIUnfKrJ+7U7Fml5+QT7G4+5bXnfOs5gcWKDQyyap9y3AJpjPnGaLzwb/8LwlqKXePRQvOW44O5JLwOTo3TD4ZPKANuBblD7J7TYGyXKTUQcytfQl1uOxELWNBj4IpUEbR1C/S4RmupMivLNQoA=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveFacade.ISlaveFacade" name="SlaveHttpEndpoint" />
     10    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;blade12.hpc.fh-hagenberg.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveFacade.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;blade12.hpc.fh-hagenberg.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveFacade.ISlaveFacade" name="SlaveTcpStreamedEndpoint" />
    1111  </endpoints>
    1212</configurationSnapshot>
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveFacade/configuration91.svcinfo

    r4368 r4423  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="mdvHGx1cXH30EVgYx7zLInxCjgQ=">
     2<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="ygqZSplkq9BrCLSoyj2N2bTZgNE=">
    33  <bindingConfigurations>
    44    <bindingConfiguration bindingType="netTcpBinding" name="SlaveTcpStreamedEndpoint">
     
    297297        </property>
    298298        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    299           <serializedValue>AwAAAAEAAAAUAAAAJ5p7xBv8o/BZ9Lp1c1d+F13FxN8gAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgzMDA5MTMyMVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbjJrhOtSpfFz51JPvdfxMVSKqnWhfzjrZvtwpVsy8D589m3SeS6AalWwtkpPCR2C+a4GKo9e689o0+BtuOugypAWqkUhkz//XLvUp5KPNB7igY7he4ngMLp4GsWBWZdl+P8g29t5+nde1Tiv6dPzx5YgfB9lrvZzaS6TT/eNasQIDAQABo0kwRzBFBgNVHQEEPjA8gBBPTuRH17g8MfpeT/ODWdXuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQADgYEAUpgK4sUxAqwR8eyRK8cmyzhhN31xN8/nKPIo9cETaNvjJXL8zO7DeXCyyiBETAkfnhIChRIAmE/PjxvFdB2fOuQY3/OHrobai+G7IQ8SHF+AKdx7cJXt0h4Okny4DpPjQl4V9P2lZaG8fVXmpKhpeZ+ChA8Y/xPCDzTzLleQ/mY=</serializedValue>
     299          <serializedValue>AwAAAAEAAAAUAAAA0FkTGjOA2/0cZmFlIwFildV5a/ogAAAAAQAAACgCAAAwggIkMIIBkaADAgECAhCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQAwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MB4XDTEwMDkxNTE0MjkyNFoXDTM5MTIzMTIzNTk1OVowJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN/VsuexELvneBS+KjIT4z1oj8VwitpZJDhCVxVM1hBVAXRJ9qE0zwFwen6KWRXKMx0wZvm47CdkENO0krsqfliQRKb0hcMin+37X8u1Xk51qebV3M0kUAEpsRT6RehQD41+iGe1GmIaLksCEYaH80wPWI7F3N/tN+5svizD0sfQIDAQABo1swWTBXBgNVHQEEUDBOgBBJWfbAcVJ+egMO9eh/uP3hoSgwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0ghCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQADgYEApOwttaruQRFtS8SWslEDt+aKzIUnfKrJ+7U7Fml5+QT7G4+5bXnfOs5gcWKDQyyap9y3AJpjPnGaLzwb/8LwlqKXePRQvOW44O5JLwOTo3TD4ZPKANuBblD7J7TYGyXKTUQcytfQl1uOxELWNBj4IpUEbR1C/S4RmupMivLNQoA=</serializedValue>
    300300        </property>
    301301        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     
    370370        </property>
    371371        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    372           <serializedValue>localhost</serializedValue>
     372          <serializedValue>blade12.hpc.fh-hagenberg.at</serializedValue>
    373373        </property>
    374374        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/ServiceLocator.cs

    r4368 r4423  
    3939    }
    4040
     41    private string hostAddress;
    4142    internal string HostAddress {
    42       get;
    43       set;
     43      get {
     44        return hostAddress;
     45      }
     46      set {
     47        if (hostAddress != value) {
     48          hostAddress = value;
     49          if (slaveFacadePool != null)
     50            slaveFacadePool.HostAddress = value;
     51          if (streamedSlaveFacadePool != null)
     52            streamedSlaveFacadePool.HostAddress = value;
     53        }
     54      }
     55    }
     56
     57    public ServiceLocator() {
     58      Settings.Default.SettingChanging += new System.Configuration.SettingChangingEventHandler(Default_SettingChanging);
     59    }
     60
     61    void Default_SettingChanging(object sender, System.Configuration.SettingChangingEventArgs e) {
     62      if (slaveFacadePool != null) {
     63        slaveFacadePool.Username = Settings.Default.HiveUsername;
     64        slaveFacadePool.Password = Settings.Default.HivePassword;
     65      }
     66      if (streamedSlaveFacadePool != null) {
     67        streamedSlaveFacadePool.Username = Settings.Default.HiveUsername;
     68        streamedSlaveFacadePool.Password = Settings.Default.HivePassword;
     69      }
    4470    }
    4571
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs

    r4368 r4423  
    3232using HeuristicLab.PluginInfrastructure;
    3333using HeuristicLab.Tracing;
     34using HeuristicLab.Common;
    3435
    3536namespace HeuristicLab.Hive.Slave.Communication {
     
    5657    public DateTime ConnectedSince { get; private set; }
    5758    public NetworkEnum.WcfConnState ConnState { get; private set; }
    58     public bool LoggedIn { get; set; }
    5959
    6060    private string serverIp;
     
    6464        if (serverIp != value) {
    6565          serverIp = value;
    66           if (ServerChanged != null)
    67             ServerChanged(this, new EventArgs());
    68         }
    69       }
    70     }
    71 
    72     public event EventHandler ConnectionRestored;
    73     public event EventHandler ServerChanged;
     66        }
     67      }
     68    }
     69
    7470    public event EventHandler Connected;
     71    public void OnConnected() {
     72      var handler = Connected;
     73      if (handler != null) handler(this, EventArgs.Empty);
     74    }
    7575
    7676    /// <summary>
     
    7979    private WcfService() {
    8080      ConnState = NetworkEnum.WcfConnState.Disconnected;
    81       LoggedIn = false;
    8281    }
    8382
     
    8584    /// Connects with the Server, registers the events and fires the Connected (and quiet possibly the ConnectionRestored) Event.
    8685    /// </summary>
    87     public void Connect() {
     86    public void Connect(SlaveDto slaveInfo) {
    8887      ServiceLocator.Instance.HostAddress = ServerIp;
    89       ServiceLocator.Instance.SlaveFacadePool.ExceptionOccured += new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
    90       ServiceLocator.Instance.StreamedSlaveFacadePool.ExceptionOccured += new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
     88      RegisterServiceEvents();
    9189      using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
    9290        try {
     
    9896          ConnState = NetworkEnum.WcfConnState.Connected;
    9997          ConnectedSince = DateTime.Now;
    100 
    101           if (Connected != null) {
    102             Connected(this, new EventArgs());
    103           }
    104           if (ConnState == NetworkEnum.WcfConnState.Failed) {
    105             ConnectionRestored(this, new EventArgs());
    106           }
     98          service.Obj.Login(slaveInfo);
     99          OnConnected();
    107100        }
    108101        catch (Exception ex) {
     
    112105    }
    113106
    114     void ClientFacadePool_ExceptionOccured(object sender, HeuristicLab.Common.EventArgs<Exception> e) {
     107    private void RegisterServiceEvents() {
     108      ServiceLocator.Instance.SlaveFacadePool.ExceptionOccured += new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
     109      ServiceLocator.Instance.StreamedSlaveFacadePool.ExceptionOccured += new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
     110    }
     111
     112    private void DeregisterServiceEvents() {
     113      ServiceLocator.Instance.SlaveFacadePool.ExceptionOccured -= new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
     114      ServiceLocator.Instance.StreamedSlaveFacadePool.ExceptionOccured -= new EventHandler<HeuristicLab.Common.EventArgs<Exception>>(ClientFacadePool_ExceptionOccured);
     115    }
     116
     117    void ClientFacadePool_ExceptionOccured(object sender, EventArgs<Exception> e) {
     118      HandleNetworkError(e.Value);
    115119      Logger.Error("An exception occured in the WCF-Communication: " + e.Value.ToString());
    116120    }
     
    121125    public void Disconnect() {
    122126      ConnState = NetworkEnum.WcfConnState.Disconnected;
    123       LoggedIn = false;
     127      DeregisterServiceEvents();
    124128    }
    125129
     
    130134    private void HandleNetworkError(Exception e) {
    131135      ConnState = NetworkEnum.WcfConnState.Failed;
    132       LoggedIn = false;
     136      DeregisterServiceEvents();
    133137      Logger.Error("Network exception occurred: " + e);
    134138    }
     
    137141    /// Methods for the Server Login
    138142    /// </summary>
    139     public void Login(SlaveDto slaveInfo) {
    140       using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.SlaveFacadePool.GetService()) {
    141         try {
    142           if (ConnState == NetworkEnum.WcfConnState.Connected) {
    143             Logger.Debug("STARTED: Login Sync");
    144             Response res = service.Obj.Login(slaveInfo);
    145             if (res.StatusMessage != ResponseStatus.Ok) {
    146               Logger.Error("FAILED: Login Failed! " + res.StatusMessage);
    147               throw new Exception(res.StatusMessage.ToString());
    148             } else {
    149               Logger.Info("ENDED: Login succeeded" + res.StatusMessage);
    150               LoggedIn = true;
    151             }
    152           }
    153         }
    154         catch (Exception e) {
    155           HandleNetworkError(e);
    156         }
    157       }
    158     }
     143    //public void Login(SlaveDto slaveInfo) {
     144    //  try {
     145    //    using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.SlaveFacadePool.GetService()) {
     146    //      if (ConnState == NetworkEnum.WcfConnState.Connected) {
     147    //        Logger.Debug("STARTED: Login Sync");
     148    //        Response res = service.Obj.Login(slaveInfo);
     149    //        if (res.StatusMessage != ResponseStatus.Ok) {
     150    //          Logger.Error("FAILED: Login Failed! " + res.StatusMessage);
     151    //          throw new Exception(res.StatusMessage.ToString());
     152    //        } else {
     153    //          Logger.Info("ENDED: Login succeeded" + res.StatusMessage);
     154    //        }
     155    //      }
     156    //    }
     157    //  }
     158    //  catch (Exception e) {
     159    //    OnExceptionOccured(e);
     160    //  }
     161    //}
    159162
    160163    /// <summary>
     
    164167    public event System.EventHandler<GetJobCompletedEventArgs> GetJobCompleted;
    165168    public void GetJobAsync(Guid guid) {
    166       if (LoggedIn) {
    167         Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
    168         Logger.Debug("STARTED: Fetching of Jobs from Server for Slave");
    169         service.Obj.BeginGetStreamedJob(guid, (ar => {
     169      Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
     170      Logger.Debug("STARTED: Fetching of Jobs from Server for Slave");
     171      service.Obj.BeginGetStreamedJob(guid, (ar => {
     172        Stream stream = null;
     173        MemoryStream memStream = null;
     174        try {
    170175          if (ar.IsCompleted) {
    171             Stream stream = null;
    172             MemoryStream memStream = null;
    173             try {
    174               Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
    175               stream = service.Obj.EndGetStreamedJob(ar);
    176 
    177               //first deserialize the response
    178               BinaryFormatter formatter = new BinaryFormatter();
    179               ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
    180 
    181               //second deserialize the BLOB
    182               memStream = new MemoryStream();
    183 
    184               byte[] buffer = new byte[3024];
    185               int read = 0;
    186               while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
    187                 memStream.Write(buffer, 0, read);
    188               }
    189 
    190               memStream.Close();
    191 
    192               GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
    193               GetJobCompleted(this, completedEventArgs);
     176            Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
     177            stream = service.Obj.EndGetStreamedJob(ar);
     178
     179            //first deserialize the response
     180            BinaryFormatter formatter = new BinaryFormatter();
     181            ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
     182
     183            //second deserialize the BLOB
     184            memStream = new MemoryStream();
     185
     186            byte[] buffer = new byte[3024];
     187            int read = 0;
     188            while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
     189              memStream.Write(buffer, 0, read);
    194190            }
    195             catch (Exception ex) {
    196               Logger.Error(ex);
    197             }
    198             finally {
    199               if (stream != null)
    200                 stream.Dispose();
    201 
    202               if (memStream != null)
    203                 memStream.Dispose();
    204 
    205               service.Dispose();
    206             }
    207           } else
     191
     192            memStream.Close();
     193
     194            GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
     195            GetJobCompleted(this, completedEventArgs);
     196
     197          } else {
    208198            HandleNetworkError(new FaultException("GetJobAsync did not complete"));
    209         }), null);
    210       }
     199          }
     200        }
     201        catch (Exception e) {
     202          OnExceptionOccured(e);
     203        }
     204        finally {
     205          if (stream != null)
     206            stream.Dispose();
     207
     208          if (memStream != null)
     209            memStream.Dispose();
     210
     211          try { service.Dispose(); }
     212          catch (Exception e) { OnExceptionOccured(e); }
     213        }
     214      }), null);
    211215    }
    212216
     
    218222    #region SendJobResults
    219223    public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> GetFinishedJobResultCompleted;
    220     public void GetFinishedJobResultAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
    221       if (LoggedIn) {
    222         Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
    223         Logger.Debug("STARTED: Sending back the finished job results");
    224         Logger.Debug("Building stream");
    225         Stream stream = GetStreamedJobResult(clientId, jobId, result, percentage, exception);
    226         Logger.Debug("Builded stream");
    227         Logger.Debug("Making the call");
    228        
    229         service.Obj.BeginStoreFinishedJobResultStreamed(stream, (ar => {
    230           try {
    231             Logger.Debug("Finished storing the job");
    232             if (stream != null)
    233               stream.Dispose();
    234 
    235             if (ar.IsCompleted) {
    236               var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    237               StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
    238               Logger.Debug("calling the Finished Job Event");
    239               GetFinishedJobResultCompleted(this, args);
    240               Logger.Debug("ENDED: Sending back the finished job results");
    241             } else {
    242               HandleNetworkError(new FaultException("GetFinishedJobResultAsync did not complete"));
    243             }
     224    public void GetFinishedJobResultAsync(Guid clientId, Guid jobId, byte[] result, TimeSpan executionTime, string exception, bool finished) {
     225      Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
     226      Logger.Debug("STARTED: Sending back the finished job results");
     227      Logger.Debug("Building stream");
     228      Stream stream = GetStreamedJobResult(clientId, jobId, result, executionTime, exception);
     229      Logger.Debug("Builded stream");
     230      Logger.Debug("Making the call");
     231
     232      service.Obj.BeginStoreFinishedJobResultStreamed(stream, (ar => {
     233        try {
     234          Logger.Debug("Finished storing the job");
     235          if (stream != null)
     236            stream.Dispose();
     237
     238          if (ar.IsCompleted) {
     239            var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     240            StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
     241            Logger.Debug("calling the Finished Job Event");
     242            GetFinishedJobResultCompleted(this, args);
     243            Logger.Debug("ENDED: Sending back the finished job results");
     244          } else {
     245            HandleNetworkError(new FaultException("GetFinishedJobResultAsync did not complete"));
    244246          }
    245           finally {
    246             service.Dispose();
    247           }
    248         }), null);
    249       }
     247        }
     248        catch (Exception e) {
     249          OnExceptionOccured(e);
     250        }
     251        finally {
     252          try { service.Dispose(); }
     253          catch (Exception e) { OnExceptionOccured(e); }
     254        }
     255      }), null);
    250256    }
    251257
     
    254260    #region Processsnapshots
    255261    public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
    256     public void ProcessSnapshotAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
    257       if (LoggedIn) {
    258         Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
    259 
    260         Stream stream = GetStreamedJobResult(clientId, jobId, result, percentage, exception);
    261         service.Obj.BeginProcessSnapshotStreamed(stream, (ar => {
    262           try {
    263             if (stream != null)
    264               stream.Dispose();
    265 
    266             if (ar.IsCompleted) {
    267               var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    268               ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
    269               ProcessSnapshotCompleted(this, args);
    270             } else {
    271               HandleNetworkError(new FaultException("ProcessSnapshotAsync did not complete"));
    272             }
     262    public void ProcessSnapshotAsync(Guid clientId, Guid jobId, byte[] result, TimeSpan executionTime, string exception, bool finished) {
     263      Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService();
     264
     265      Stream stream = GetStreamedJobResult(clientId, jobId, result, executionTime, exception);
     266      service.Obj.BeginProcessSnapshotStreamed(stream, (ar => {
     267        try {
     268          if (stream != null)
     269            stream.Dispose();
     270
     271          if (ar.IsCompleted) {
     272            var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     273            ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
     274            ProcessSnapshotCompleted(this, args);
     275          } else {
     276            HandleNetworkError(new FaultException("ProcessSnapshotAsync did not complete"));
    273277          }
    274           finally {
    275             service.Dispose();
    276           }
    277         }), null);
    278       }
     278        }
     279        catch (Exception e) {
     280          OnExceptionOccured(e);
     281        }
     282        finally {
     283          try { service.Dispose(); }
     284          catch (Exception e) { OnExceptionOccured(e); }
     285        }
     286      }), null);
    279287    }
    280288
     
    286294    #region Heartbeat
    287295
    288     public event System.EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
     296    public event EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
    289297    public void ProcessHeartBeatSync(HeartBeatData hbd) {
    290       if (LoggedIn) {
    291         using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
    292           Logger.Debug("STARTING: sending heartbeat");
    293           var res = service.Obj.ProcessHeartBeat(hbd);
    294 
    295           if (res.StatusMessage == ResponseStatus.Ok) {
    296             ProcessHeartBeatCompleted(this, new ProcessHeartBeatCompletedEventArgs(new object[] { res }, null, false, null));
    297             Logger.Debug("ENDED: sending heartbeats");
    298           } else if (res.StatusMessage == ResponseStatus.ProcessHeartBeat_UserNotLoggedIn) {
    299             LoggedIn = false;
    300           } else {
    301             Logger.Error("FAILED: sending heartbeats: " + res.StatusMessage.ToString());
    302           }
     298      using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
     299        Logger.Debug("STARTING: sending heartbeat");
     300        var res = service.Obj.ProcessHeartBeat(hbd);
     301
     302        if (res.StatusMessage == ResponseStatus.Ok) {
     303          ProcessHeartBeatCompleted(this, new ProcessHeartBeatCompletedEventArgs(new object[] { res }, null, false, null));
     304          Logger.Debug("ENDED: sending heartbeats");
     305        } else {
     306          Logger.Error("FAILED: sending heartbeats: " + res.StatusMessage.ToString());
    303307        }
    304308      }
     
    310314    /// Send back finished and Stored Job Results
    311315    /// </summary>
    312     private Stream GetStreamedJobResult(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
     316    private Stream GetStreamedJobResult(Guid clientId, Guid jobId, byte[] result, TimeSpan executionTime, string exception) {
    313317      JobResult jobResult = new JobResult();
    314318      jobResult.SlaveId = clientId;
    315319      jobResult.Id = jobId;
    316       jobResult.Percentage = percentage;
    317       jobResult.Exception = exception != null ? exception.Message : "";
     320      jobResult.ExecutionTime = executionTime;
     321      jobResult.Exception = exception;
    318322
    319323      MultiStream stream = new MultiStream();
     
    329333    }
    330334
    331     public ResponseResultReceived StoreFinishedJobResultsSync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
     335    public ResponseResultReceived StoreFinishedJobResultsSync(Guid clientId, Guid jobId, byte[] result, TimeSpan executionTime, string exception, bool finished) {
    332336      using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
    333         ResponseResultReceived res = service.Obj.StoreFinishedJobResultStreamed(GetStreamedJobResult(clientId, jobId, result, percentage, exception));
     337        ResponseResultReceived res = service.Obj.StoreFinishedJobResultStreamed(GetStreamedJobResult(clientId, jobId, result, executionTime, exception));
    334338        return res;
    335339      }
     
    346350      }
    347351      catch (Exception e) {
    348         HandleNetworkError(e);
    349         return null;
    350       }
    351     }
    352 
    353     public ResponseResultReceived ProcessSnapshotSync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
    354       try {
    355         using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
    356           return service.Obj.ProcessSnapshotStreamed(GetStreamedJobResult(clientId, jobId, result, percentage, exception));
    357         }
    358       }
    359       catch (Exception e) {
    360         HandleNetworkError(e);
     352        OnExceptionOccured(e);
     353        return null;
     354      }
     355    }
     356
     357    public ResponseResultReceived ProcessSnapshotSync(Guid clientId, Guid jobId, byte[] result, TimeSpan executionTime, string exception) {
     358      try {
     359        using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
     360          return service.Obj.ProcessSnapshotStreamed(GetStreamedJobResult(clientId, jobId, result, executionTime, exception));
     361        }
     362      }
     363      catch (Exception e) {
     364        OnExceptionOccured(e);
    361365        return null;
    362366      }
     
    380384      }
    381385      catch (Exception e) {
    382         HandleNetworkError(e);
     386        OnExceptionOccured(e);
    383387        return null;
    384388      }
     
    394398      }
    395399      catch (Exception e) {
    396         HandleNetworkError(e);
     400        OnExceptionOccured(e);
    397401      }
    398402    }
     
    408412      }
    409413      catch (Exception e) {
    410         HandleNetworkError(e);
     414        OnExceptionOccured(e);
    411415        return null;
    412416      }
     
    423427      }
    424428      catch (Exception e) {
    425         HandleNetworkError(e);
     429        OnExceptionOccured(e);
    426430        return null;
    427431      }
     
    438442      }
    439443      catch (Exception e) {
    440         HandleNetworkError(e);
     444        OnExceptionOccured(e);
    441445        return null;
    442446      }
     
    453457      }
    454458      catch (Exception e) {
    455         HandleNetworkError(e);
     459        OnExceptionOccured(e);
    456460        return null;
    457461      }
     
    475479      }
    476480      catch (Exception e) {
    477         HandleNetworkError(e);
    478         return null;
    479       }
     481        OnExceptionOccured(e);
     482        return null;
     483      }
     484    }
     485
     486    public void DeleteChildJobs(Guid jobId) {
     487      try {
     488        using (Disposable<SlaveFacade.ISlaveFacade> service = ServiceLocator.Instance.StreamedSlaveFacadePool.GetService()) {
     489          service.Obj.DeleteChildJobs(jobId);
     490        }
     491      }
     492      catch (Exception e) {
     493        OnExceptionOccured(e);
     494      }
     495    }
     496
     497    public event EventHandler<EventArgs<Exception>> ExceptionOccured;
     498    private void OnExceptionOccured(Exception e) {
     499      Logger.Error("Error: " + e.ToString());
     500      var handler = ExceptionOccured;
     501      if (handler != null) handler(this, new EventArgs<Exception>(e));
    480502    }
    481503  }
  • branches/3.3-Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config

    r4368 r4423  
    1414          hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
    1515          maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="104857600">
    16           <readerQuotas maxDepth="32" maxStringContentLength="104857600" maxArrayLength="104857600"
    17             maxBytesPerRead="4096" maxNameTableCharCount="16384" />
     16          <readerQuotas maxDepth="32" maxStringContentLength="104857600"
     17            maxArrayLength="104857600" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    1818          <reliableSession ordered="true" inactivityTimeout="00:10:00"
    1919            enabled="false" />
     
    2828          receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
    2929          transactionFlow="false" hostNameComparisonMode="StrongWildcard"
    30           maxBufferPoolSize="524288" maxReceivedMessageSize="104857600" messageEncoding="Text"
     30          maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
    3131          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
    3232          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
     
    4444    </bindings>
    4545    <client>
    46       <endpoint address="http://localhost:9000/SlaveService" binding="wsHttpBinding" behaviorConfiguration="SlaveServiceBehaviour"
     46      <endpoint address="http://blade12.hpc.fh-hagenberg.at:9000/SlaveService" binding="wsHttpBinding" behaviorConfiguration="SlaveServiceBehaviour"
    4747        bindingConfiguration="SlaveHttpEndpoint" contract="SlaveFacade.ISlaveFacade"
    4848        name="SlaveHttpEndpoint">
    4949        <identity>
    50           <certificate encodedValue="AwAAAAEAAAAUAAAAJ5p7xBv8o/BZ9Lp1c1d+F13FxN8gAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgzMDA5MTMyMVoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbjJrhOtSpfFz51JPvdfxMVSKqnWhfzjrZvtwpVsy8D589m3SeS6AalWwtkpPCR2C+a4GKo9e689o0+BtuOugypAWqkUhkz//XLvUp5KPNB7igY7he4ngMLp4GsWBWZdl+P8g29t5+nde1Tiv6dPzx5YgfB9lrvZzaS6TT/eNasQIDAQABo0kwRzBFBgNVHQEEPjA8gBBPTuRH17g8MfpeT/ODWdXuoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghBvZlgTCjsfjEG5QUX7yOhOMAkGBSsOAwIdBQADgYEAUpgK4sUxAqwR8eyRK8cmyzhhN31xN8/nKPIo9cETaNvjJXL8zO7DeXCyyiBETAkfnhIChRIAmE/PjxvFdB2fOuQY3/OHrobai+G7IQ8SHF+AKdx7cJXt0h4Okny4DpPjQl4V9P2lZaG8fVXmpKhpeZ+ChA8Y/xPCDzTzLleQ/mY=" />
     50          <certificate encodedValue="AwAAAAEAAAAUAAAA0FkTGjOA2/0cZmFlIwFildV5a/ogAAAAAQAAACgCAAAwggIkMIIBkaADAgECAhCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQAwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MB4XDTEwMDkxNTE0MjkyNFoXDTM5MTIzMTIzNTk1OVowJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN/VsuexELvneBS+KjIT4z1oj8VwitpZJDhCVxVM1hBVAXRJ9qE0zwFwen6KWRXKMx0wZvm47CdkENO0krsqfliQRKb0hcMin+37X8u1Xk51qebV3M0kUAEpsRT6RehQD41+iGe1GmIaLksCEYaH80wPWI7F3N/tN+5svizD0sfQIDAQABo1swWTBXBgNVHQEEUDBOgBBJWfbAcVJ+egMO9eh/uP3hoSgwJjEkMCIGA1UEAxMbYmxhZGUxMi5ocGMuZmgtaGFnZW5iZXJnLmF0ghCcCYkXdzUDsEzY5+POfdYRMAkGBSsOAwIdBQADgYEApOwttaruQRFtS8SWslEDt+aKzIUnfKrJ+7U7Fml5+QT7G4+5bXnfOs5gcWKDQyyap9y3AJpjPnGaLzwb/8LwlqKXePRQvOW44O5JLwOTo3TD4ZPKANuBblD7J7TYGyXKTUQcytfQl1uOxELWNBj4IpUEbR1C/S4RmupMivLNQoA=" />
    5151        </identity>
    5252      </endpoint>
    53       <endpoint address="net.tcp://localhost:9001/SlaveServiceStreamed" behaviorConfiguration="SlaveServiceBehaviour"
     53      <endpoint address="net.tcp://blade12.hpc.fh-hagenberg.at:9001/SlaveServiceStreamed" behaviorConfiguration="SlaveServiceBehaviour"
    5454        binding="netTcpBinding" bindingConfiguration="SlaveTcpStreamedEndpoint"
    5555        contract="SlaveFacade.ISlaveFacade" name="SlaveTcpStreamedEndpoint">
    5656        <identity>
    57           <dns value="localhost" />
     57          <dns value="blade12.hpc.fh-hagenberg.at" />
    5858        </identity>
    5959      </endpoint>
Note: See TracChangeset for help on using the changeset viewer.