Ignore:
Timestamp:
Jun 14, 2010, 1:23:24 PM (11 years ago)
Author:
Paul Lelgemann
Message:

o Fixed KeySearcher progress display
+ Work on the distributed KeySearcher part

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/KeySearcher/KeySearcherSettings.cs

    r952 r1634  
    1313        private KeySearcher keysearcher;
    1414        private int coresUsed;
     15        private const string GroupPeerToPeer = "Peer-to-Peer network";
    1516
    1617        public KeySearcherSettings(KeySearcher ks)
     
    2122                CoresAvailable.Add((i + 1).ToString());
    2223            CoresUsed = Environment.ProcessorCount - 1;
     24
     25            distributedJobIdentifier = Guid.NewGuid().ToString();
    2326        }
    2427
     
    3740                if (!(keysearcher.Pattern != null && keysearcher.Pattern.testWildcardKey(value)))
    3841                    keysearcher.GuiLogMessage("Wrong key pattern!", NotificationLevel.Error);
     42                HasChanges = true;
    3943            }
    4044        }
     
    6165        }
    6266
     67        private bool usePeerToPeer;
     68        [TaskPane("Use Peer-to-Peer network", "Distributes the operation on available peers by using the built-in peer-to-peer network.", GroupPeerToPeer, 0, false, DisplayLevel.Beginner,
     69            ControlType.CheckBox)]
     70        public bool UsePeerToPeer
     71        {
     72            get { return usePeerToPeer; }
     73            set
     74            {
     75                if (value != usePeerToPeer)
     76                {
     77                    usePeerToPeer = value;
     78                    OnPropertyChanged("UsePeerToPeer");
     79                    HasChanges = true;
     80                }
     81            }
     82        }
     83
     84        private bool autoconnectPeerToPeer;
     85        [TaskPane("Autoconnect network", "Establish a connection to the network if the workspace is started without the background connection being active.", GroupPeerToPeer, 1, false, DisplayLevel.Beginner,
     86            ControlType.CheckBox)]
     87        public bool AutoconnectPeerToPeer
     88        {
     89            get { return autoconnectPeerToPeer; }
     90            set
     91            {
     92                if (value != autoconnectPeerToPeer)
     93                {
     94                    autoconnectPeerToPeer = value;
     95                    OnPropertyChanged("AutoconnectPeerToPeer");
     96                    HasChanges = true;
     97                }
     98            }
     99        }
     100
     101        private string distributedJobIdentifier;
     102        [TaskPane("Job identifier", "Arbitrary description, that allows other peers to join this calculation.", GroupPeerToPeer, 2, false, DisplayLevel.Professional,
     103            ControlType.TextBox)]
     104        public string DistributedJobIdentifier
     105        {
     106            get { return distributedJobIdentifier; }
     107            set
     108            {
     109                if (value != distributedJobIdentifier)
     110                {
     111                    distributedJobIdentifier = value;
     112                    OnPropertyChanged("DistributedJobIdentifier");
     113                    HasChanges = true;
     114                }
     115            }
     116        }
     117
     118        private int chunkSize;
     119        [TaskPane("Chunk size", "Amount of keys (x 10.000), that will be calculated by one peer at a time.", GroupPeerToPeer, 3, false, DisplayLevel.Professional,
     120            ControlType.NumericUpDown, ValidationType.RangeInteger, 250, int.MaxValue)]
     121        public int ChunkSize
     122        {
     123            get { return chunkSize; }
     124            set
     125            {
     126                if (value != chunkSize)
     127                {
     128                    chunkSize = value;
     129                    OnPropertyChanged("ChunkSize");
     130                    HasChanges = true;
     131                }
     132            }
     133        }
     134
    63135        private ObservableCollection<string> coresAvailable = new ObservableCollection<string>();
    64136        public ObservableCollection<string> CoresAvailable
     
    74146            }
    75147        }
    76        
     148
    77149        #region ISettings Members
    78150
Note: See TracChangeset for help on using the changeset viewer.