Coverage Summary for Class: BlockHeadersRequestMessage (co.rsk.net.messages)
Class |
Class, %
|
Method, %
|
Line, %
|
BlockHeadersRequestMessage |
0%
(0/1)
|
0%
(0/8)
|
0%
(0/15)
|
1 package co.rsk.net.messages;
2
3 import org.ethereum.util.RLP;
4
5 /**
6 * Created by ajlopez on 23/08/2017.
7 */
8 public class BlockHeadersRequestMessage extends MessageWithId {
9 /**
10 * Id to identify request/response correlation
11 */
12 private long id;
13
14 /**
15 * Hash of the first header to retrieve
16 */
17 private byte[] hash;
18
19 /**
20 * Count of headers to retrieve
21 */
22 private int count;
23
24 public BlockHeadersRequestMessage(long id, byte[] hash, int count) {
25 if (count < 0) {
26 throw new IllegalArgumentException();
27 }
28
29 this.id = id;
30 this.hash = hash;
31 this.count = count;
32 }
33
34 public long getId() { return this.id; }
35
36 public byte[] getHash() { return this.hash; }
37
38 public int getCount() { return this.count; }
39
40 @Override
41 public byte[] getEncodedMessageWithoutId() {
42 byte[] rlpHash = RLP.encodeElement(this.hash);
43 byte[] rlpCount = RLP.encodeInt(this.count);
44
45 return RLP.encodeList(rlpHash, rlpCount);
46 }
47
48 @Override
49 public MessageType getMessageType() {
50 return MessageType.BLOCK_HEADERS_REQUEST_MESSAGE;
51 }
52
53 @Override
54 public MessageType getResponseMessageType() {
55 return MessageType.BLOCK_HEADERS_RESPONSE_MESSAGE;
56 }
57
58 @Override
59 public void accept(MessageVisitor v) {
60 v.apply(this);
61 }
62 }
63