Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/07/09 17:04:39 (15 years ago)
Author:
msteinbi
Message:

Started implementation of Lifecycle Management for CLient Communicator (#453)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs

    r1022 r1088  
    1818  public class ClientCommunicator: IClientCommunicator {
    1919    int nrOfJobs = 0;
     20    Dictionary<Guid, DateTime> lastHeartbeats;
    2021
    2122    IClientAdapter clientAdapter;
    2223    IJobAdapter jobAdapter;
    2324    IJobResultsAdapter jobResultAdapter;
     25    ILifecycleManager lifecycleManager;
    2426
    2527    public ClientCommunicator() {
     
    2729      jobAdapter = ServiceLocator.GetJobAdapter();
    2830      jobResultAdapter = ServiceLocator.GetJobResultsAdapter();
     31      lifecycleManager = ServiceLocator.GetLifecycleManager();
     32
     33      lifecycleManager.OnServerHeartbeat +=
     34        new EventHandler(lifecycleManager_OnServerHeartbeat);
    2935
    3036      for (int i = 0; i < nrOfJobs; i++) {
     
    3440        jobAdapter.Update(job);
    3541      }
     42      lastHeartbeats = new Dictionary<Guid, DateTime>();
    3643
     44    }
     45
     46    void lifecycleManager_OnServerHeartbeat(object sender, EventArgs e) {
     47      List<ClientInfo> allClients = new List<ClientInfo>(clientAdapter.GetAll());
     48
     49      foreach (ClientInfo client in allClients) {
     50       
     51      }
    3752    }
    3853
     
    5873    public ResponseHB SendHeartBeat(HeartBeatData hbData) {
    5974      ResponseHB response = new ResponseHB();
     75
     76      if (lastHeartbeats.ContainsKey(hbData.ClientId)) {
     77        lastHeartbeats[hbData.ClientId] = DateTime.Now;
     78      } else {
     79        lastHeartbeats.Add(hbData.ClientId, DateTime.Now);
     80      }
    6081
    6182      response.Success = true;
Note: See TracChangeset for help on using the changeset viewer.