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.OvernetPlugin;
26 import org.xnap.plugin.overnet.util.OvernetPreferences;
27
28 public class DownloadStatusMessage extends OvernetCoreMessage
29 {
30 public static final byte TYPE = (byte)197;
31
32 float totalSpeed;
33
34 private static Logger logger =
35 Logger.getLogger(DownloadStatusMessage.class);
36
37 public DownloadStatusMessage(ByteBuffer buffer)
38 {
39 super(TYPE, buffer);
40 readItems();
41 }
42
43 private void readItems()
44 {
45 short num = getShort();
46
47
48
49 for (short i = 0; i < num; i++) {
50 int index = OvernetPreferences.getInstance().getNewDownloadID()
51 ? getInt() : getShort();
52 byte status = get();
53 float speed = getFloat();
54 int transferred = getInt();
55 byte available = get();
56 byte s = get();
57 int sources = (s < 0) ? ((int)s) & 0xff : s;
58 logger.debug("download status change for index " + index);
59 OvernetPlugin.getMessageHandler().handle
60 (new UpdateDownloadMessage(index, status, speed, transferred,
61 available, sources));
62 }
63 }
64 }