source: trunk/CrypPlugins/KeySearcher/P2P/Tree/Leaf.cs

Last change on this file was 6301, checked in by konze, 7 years ago

Mock CrypNetwork and Implementation out of existing components.
Removed CrypNetwork and Implementation.

File size: 2.2 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Numerics;
4using KeySearcher.Helper;
5using KeySearcher.P2P.Storage;
6using KeySearcher.Properties;
7
8namespace KeySearcher.P2P.Tree
9{
10    class Leaf : NodeBase
11    {
12        internal DateTime LastReservationDate;
13        private bool isLeafReserved;
14        private const int RESERVATIONTIMEOUT = 30;
15        private long clientIdentifier = -1;
16
17        public Leaf(KeyQualityHelper keyQualityHelper, Node parentNode, BigInteger id, string distributedJobIdentifier)
18            : base(keyQualityHelper, parentNode, id, id, distributedJobIdentifier)
19        {
20        }
21
22        public void HandleResults(LinkedList<KeySearcher.ValueKey> result, Int64 id, String hostname)
23        {
24            Result = result;
25            this.id = id;
26            this.hostname = hostname;
27            UpdateDht();
28        }
29
30        public BigInteger PatternId()
31        {
32            return From;
33        }
34
35        public override Leaf CalculatableLeaf(bool useReservedNodes)
36        {
37            if (IsCalculated())
38            {
39                Reset();
40            }
41
42            return this;
43        }
44
45        public override bool IsCalculated()
46        {
47            return Result.Count > 0;
48        }
49
50        public override void Reset()
51        {
52           
53        }
54
55        public override void UpdateCache()
56        {
57            var dateSomeMinutesBefore = DateTime.UtcNow.Subtract(new TimeSpan(0, RESERVATIONTIMEOUT, 0));
58            isLeafReserved = dateSomeMinutesBefore < LastReservationDate;
59        }
60
61        public bool ReserveLeaf()
62        {
63            return false;
64        }
65
66        public void GiveLeafFree()
67        {
68         
69        }
70
71        public override bool IsReserved()
72        {
73            return isLeafReserved;
74        }
75
76        public override string ToString()
77        {
78            return base.ToString() + Resources.__last_reservation_date_ + LastReservationDate;
79        }
80
81        public long getClientIdentifier()
82        {
83            return clientIdentifier;
84        }
85
86        public void setClientIdentifier(long id)
87        {
88            clientIdentifier = id;
89        }
90    }
91}
Note: See TracBrowser for help on using the repository browser.