Changeset 2495


Ignore:
Timestamp:
Jan 26, 2011, 9:52:15 PM (11 years ago)
Author:
schwittmann
Message:

Display external clients in statistics

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPluginBase/Miscellaneous/UniqueIdentifier.cs

    r2430 r2495  
    4242
    4343        /// <summary>
     44        /// Returns a globally unique identifier for an external client connected
     45        /// to this computer.
     46        /// </summary>
     47        /// <param name="externalClient"></param>
     48        /// <returns></returns>
     49        public static Int64 GetID(String externalClient)
     50        {
     51            Int64 localId = GetID();
     52
     53            MD5 md5 = new MD5CryptoServiceProvider();
     54            byte[] idBytes = md5.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(externalClient + localId));
     55            long ID = BitConverter.ToInt64(idBytes, 0);
     56            ID = Math.Abs(ID);
     57
     58            return ID;
     59        }
     60
     61        /// <summary>
    4462        /// Returns an identifier that depends on the MAC addresses of this system
    4563        /// </summary>       
  • trunk/CrypPlugins/KeySearcher/KeySearcher.cs

    r2491 r2495  
    261261        private DateTime assignTime;
    262262        private bool externalClientJobsAvailable = false;
     263        /// <summary>
     264        /// id of the client which calculated the last pattern
     265        /// </summary>
     266        public Int64 ExternaClientId { get; private set; }
     267        /// <summary>
     268        /// Hostname of the client which calculated the last pattern
     269        /// </summary>
     270        public String ExternalClientHostname { get; private set; }
    263271        #endregion
    264272
     
    10761084        }
    10771085
    1078         void cryptoolServer_OnJobCompleted(System.Net.EndPoint client, JobResult jr)
     1086        void cryptoolServer_OnJobCompleted(System.Net.EndPoint client, JobResult jr, String clientName)
    10791087        {
    10801088            GuiLogMessage(string.Format(Resources.Client_returned_result_of_job_with_Guid__0__, jr.Guid), NotificationLevel.Info);
     
    10911099                currentExternalJobGuid = Guid.NewGuid();
    10921100            }
     1101
     1102            Int64 id = Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetID(clientName);
     1103            String hostname = Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetHostName() + "/" + clientName;
     1104
     1105            ExternalClientHostname = hostname;
     1106            ExternaClientId = id;
     1107
    10931108            //check:
    10941109            var op = this.costMaster.getRelationOperator();
     
    11041119
    11051120                    EnhanceUserName(ref valueKey);
     1121
     1122                    // special treatment for external client
     1123                    valueKey.maschid = id;
     1124                    valueKey.maschname = hostname;
     1125
    11061126                    valuequeue.Enqueue(valueKey);
    11071127                }
  • trunk/CrypPlugins/KeySearcher/P2P/DistributedBruteForceManager.cs

    r2439 r2495  
    216216                            }
    217217                            status.CurrentOperation = Resources.Processing_results_of_calculation;
    218                             KeyPoolTree.ProcessCurrentPatternCalculationResult(currentLeaf, result);
     218
     219                            String hostname = Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetHostName();
     220                            Int64 hostid = Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetID();
     221                            if (settings.UseExternalClient)
     222                            {
     223                                hostname = keySearcher.ExternalClientHostname;
     224                                hostid = keySearcher.ExternaClientId;
     225                            }
     226                            KeyPoolTree.ProcessCurrentPatternCalculationResult(currentLeaf, result, hostid, hostname);
    219227                            StatisticsGenerator.ProcessPatternResults(result);
    220228
  • trunk/CrypPlugins/KeySearcher/P2P/Tree/KeyPoolTree.cs

    r2391 r2495  
    180180
    181181        public static void ProcessCurrentPatternCalculationResult(Leaf currentLeaf,
    182                                                                   LinkedList<KeySearcher.ValueKey> result)
    183         {
    184             currentLeaf.HandleResults(result);
     182                                                                  LinkedList<KeySearcher.ValueKey> result, Int64 id, String hostname)
     183        {
     184            currentLeaf.HandleResults(result, id, hostname);
    185185        }
    186186
  • trunk/CrypPlugins/KeySearcher/P2P/Tree/Leaf.cs

    r2456 r2495  
    2222        }
    2323
    24         public void HandleResults(LinkedList<KeySearcher.ValueKey> result)
     24        public void HandleResults(LinkedList<KeySearcher.ValueKey> result, Int64 id, String hostname)
    2525        {
    2626            Result = result;
    27             UpdateActivity();           
     27            UpdateActivity(id, hostname);
    2828            UpdateDht();
    2929        }
  • trunk/CrypPlugins/KeySearcher/P2P/Tree/NodeBase.cs

    r2289 r2495  
    174174        }
    175175
    176         protected void UpdateActivity()
    177         {
    178             var Maschine = new Dictionary<long, Information> { { Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetID(), new Information() { Count = 1, Hostname = Cryptool.PluginBase.Miscellaneous.UniqueIdentifier.GetHostName(),Date = DateTime.UtcNow } } };
     176        protected void UpdateActivity(Int64 id, String hostname)
     177        {
     178            var Maschine = new Dictionary<long, Information> { {id , new Information() { Count = 1, Hostname = hostname,Date = DateTime.UtcNow } } };
    179179            if (!Activity.ContainsKey(Avatarname))
    180180            {
  • trunk/CrypPlugins/KeySearcher/Server/Server.cs

    r2458 r2495  
    1616    #region Events
    1717
    18     public delegate void JobCompletedDelegate(EndPoint ipep, JobResult j);
     18    public delegate void JobCompletedDelegate(EndPoint ipep, JobResult j, String name);
    1919    public event JobCompletedDelegate OnJobCompleted;
    2020
     
    152152
    153153        bool identified = false;
     154        String name = string.Empty;
    154155        try
    155156        {
     
    161162                    case ClientOpcodes.HELLO:
    162163                        {
    163                             String name = wrapped.ReadString();
     164                            name = wrapped.ReadString();
    164165                            String password = wrapped.ReadString();
    165166                            if (OnClientAuth == null || !OnClientAuth(ep, name, password))
     
    199200                            if (OnJobCompleted != null)
    200201                            {
    201                                 OnJobCompleted(ep, rs);
     202                                OnJobCompleted(ep, rs, name);
    202203                            }
    203204                        }
Note: See TracChangeset for help on using the changeset viewer.