Project

General

Profile

Statistics
| Revision:

root / src / Storage / Chunk.java @ 2

History | View | Annotate | Download (1.55 KB)

1
package Storage;
2

    
3
import java.io.*;
4
import java.util.Comparator;
5

    
6

    
7
public class Chunk implements Serializable, Comparable<Chunk> {
8

    
9
    private int id;
10

    
11
    private int peerId;
12

    
13
    private byte[] info;
14

    
15
    private String fileID;
16

    
17
    private int repDegree;
18

    
19
    public Chunk(int id, byte[] info, int peerId, String fileID, int repDegree) {
20

    
21
            this.peerId = peerId;
22
            this.info = info;
23
            this.id = id;
24
            this.fileID = fileID;
25
            this.repDegree = repDegree;
26

    
27
    }
28

    
29

    
30
    public Chunk(int id, byte[] info, int peerId, String fileID) {
31

    
32
        this.peerId = peerId;
33
        this.info = info;
34
        this.id = id;
35
        this.fileID = fileID;
36
        repDegree = -1;
37

    
38
    }
39

    
40
    public byte[] getInfo() {
41
        return info;
42
    }
43

    
44
    public int getId() {
45
        return id;
46
    }
47

    
48
    public String getFileID() {
49
        return fileID;
50
    }
51

    
52
    public int getPeerId() {
53
        return peerId;
54
    }
55

    
56
    public int getRepDegree() {
57
        return repDegree;
58
    }
59

    
60
    @Override
61
    public boolean equals(Object o) {
62

    
63
        if (o == this) {
64
            return true;
65
        }
66
        if (!(o instanceof Chunk)) {
67
            return false;
68
        }
69
        Chunk c = (Chunk) o;
70

    
71
        return this.id == c.getId() && this.fileID == c.getFileID();
72
    }
73

    
74

    
75
    @Override
76
    public int compareTo(Chunk chunk) {
77
        if (chunk == this) {
78
            return 0;
79
        }
80
        if (this.id == chunk.getId())
81
            return 0;
82
        else if (this.id < chunk.getId())
83
            return -1;
84
        else return 1;
85
    }
86
}