1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.overnet.net.msg.core;
21
22 import java.nio.ByteBuffer;
23
24 import org.apache.log4j.Logger;
25 import org.xnap.plugin.overnet.net.OvernetSegment;
26 import org.xnap.plugin.overnet.util.OvernetPreferences;
27
28 public class GapsMessage extends OvernetCoreMessage
29 {
30
31
32 public static final byte TYPE = (byte)174;
33
34
35
36 public byte[] hash = new byte[16];
37 public int index = -1;
38 public OvernetSegment[] segments;
39
40 private static Logger logger = Logger.getLogger(GapsMessage.class);
41
42
43
44 public GapsMessage(ByteBuffer buffer)
45 {
46 super(TYPE, buffer);
47 if (OvernetPreferences.getInstance().getNewDownloadID()) {
48 index = getInt();
49 }
50 else {
51 get(hash);
52 }
53 short gaps = getShort();
54 segments = new OvernetSegment[gaps];
55 for (short i = 0; i < gaps; i++) {
56 int start = getInt();
57 int end = getInt();
58 short status = getShort();
59 segments[i] = new OvernetSegment(start, end, status < 0 ?
60 (int)status & 0xffff : status);
61 }
62 }
63
64
65 }