-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNode.java
More file actions
107 lines (95 loc) · 1.85 KB
/
Node.java
File metadata and controls
107 lines (95 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import java.util.*;
/**
* Definition for a single node in the network
*/
public class Node {
private int id;
private ArrayList<Integer> storedKeys;
private int[] fingerTable;
private boolean isCrashed;
int successor;
/**
*
* @param id
* @param storedKeys
* @param fingerTable
*/
public Node(int id, ArrayList<Integer> storedKeys, int[] fingerTable) {
this.id = id;
this.storedKeys = storedKeys;
this.fingerTable = fingerTable;
this.successor = fingerTable[0];
this.isCrashed = false;
}
/**
*
* @return id
*/
public int getId(){
return this.id;
}
/**
*
* @return storedKeys
*/
public ArrayList<Integer> getStoredKeys(){
return this.storedKeys;
}
/**
*
* @param storedKeys
*/
public void setStoredKeys(ArrayList<Integer> storedKeys){
this.storedKeys = storedKeys;
}
/**
*
* @param key
*/
public void addStoredKey(int key){
this.storedKeys.add(key);
}
/**
*
* @param key
*/
public void removeStoredKey(int key){
this.storedKeys.remove(key);
}
/**
*
* @return
*/
public int[] getFingerTable(){
return fingerTable;
}
/**
*
* @param fingerTable
*/
public void setFingerTable(int[] fingerTable){
this.fingerTable = fingerTable;
this.successor = fingerTable[0];
}
/**
*
* @return
*/
public int getProcSuccessor(){
return this.successor;
}
/**
*
* @return
*/
public boolean getCrashedStatus(){
return this.isCrashed;
}
/**
*
* @param status
*/
public void setCrashedStatus(boolean status){
this.isCrashed = status;
}
}