Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add kademlia example
[simgrid.git] / examples / kademlia / Contact.java
1 package kademlia;
2
3 /**
4  * Contains the information about a foreign node according to
5  * a node we are trying to find.
6  */
7 public class Contact implements Comparable<Object> {
8         private int id;
9         private int distance;
10         
11         public Contact(int id, int distance) {
12                 this.id = id;
13                 this.distance = distance;
14         }
15
16         public int getId() {
17                 return id;
18         }
19
20         public int getDistance() {
21                 return distance;
22         }
23         
24         public boolean equals(Object x) {
25                 return x.equals(id) ;
26         }
27
28         public int compareTo(Object o) {
29                 Contact c = (Contact)o;
30                 if (distance < c.distance) {
31                         return -1;
32                 }
33                 else if (distance == c.distance) {
34                         return 0;
35                 }
36                 else {
37                         return 1;
38                 }
39         }
40
41         @Override
42         public String toString() {
43                 return "Contact [id=" + id + ", distance=" + distance + "]";
44         }
45         
46 }