Coverage Summary for Class: BodyResponseMessage (co.rsk.net.messages)
Class |
Class, %
|
Method, %
|
Line, %
|
BodyResponseMessage |
0%
(0/1)
|
0%
(0/7)
|
0%
(0/18)
|
1 package co.rsk.net.messages;
2
3 import org.ethereum.core.BlockHeader;
4 import org.ethereum.core.Transaction;
5 import org.ethereum.util.RLP;
6
7 import java.util.List;
8
9 /**
10 * Created by ajlopez on 25/08/2017.
11 */
12 public class BodyResponseMessage extends MessageWithId {
13 private long id;
14 private List<Transaction> transactions;
15 private List<BlockHeader> uncles;
16
17 public BodyResponseMessage(long id, List<Transaction> transactions, List<BlockHeader> uncles) {
18 this.id = id;
19 this.transactions = transactions;
20 this.uncles = uncles;
21 }
22
23 @Override
24 public long getId() { return this.id; }
25
26 public List<Transaction> getTransactions() { return this.transactions; }
27
28 public List<BlockHeader> getUncles() { return this.uncles; }
29
30 @Override
31 protected byte[] getEncodedMessageWithoutId() {
32 byte[][] rlpTransactions = new byte[this.transactions.size()][];
33 byte[][] rlpUncles = new byte[this.uncles.size()][];
34
35 for (int k = 0; k < this.transactions.size(); k++) {
36 rlpTransactions[k] = this.transactions.get(k).getEncoded();
37 }
38
39 for (int k = 0; k < this.uncles.size(); k++) {
40 rlpUncles[k] = this.uncles.get(k).getFullEncoded();
41 }
42
43 return RLP.encodeList(RLP.encodeList(rlpTransactions), RLP.encodeList(rlpUncles));
44 }
45
46 @Override
47 public MessageType getMessageType() { return MessageType.BODY_RESPONSE_MESSAGE; }
48
49 @Override
50 public void accept(MessageVisitor v) {
51 v.apply(this);
52 }
53 }