Coverage Summary for Class: TransactionsMessage (co.rsk.net.messages)

Class Class, % Method, % Line, %
TransactionsMessage 0% (0/1) 0% (0/7) 0% (0/16)


1 /* 2  * This file is part of RskJ 3  * Copyright (C) 2017 RSK Labs Ltd. 4  * 5  * This program is free software: you can redistribute it and/or modify 6  * it under the terms of the GNU Lesser General Public License as published by 7  * the Free Software Foundation, either version 3 of the License, or 8  * (at your option) any later version. 9  * 10  * This program is distributed in the hope that it will be useful, 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13  * GNU Lesser General Public License for more details. 14  * 15  * You should have received a copy of the GNU Lesser General Public License 16  * along with this program. If not, see <http://www.gnu.org/licenses/>. 17  */ 18  19 package co.rsk.net.messages; 20  21 import org.ethereum.core.Transaction; 22 import org.ethereum.util.RLP; 23  24 import java.util.ArrayList; 25 import java.util.List; 26  27 /** 28  * Created by ajlopez on 7/22/2016. 29  */ 30 public class TransactionsMessage extends Message { 31  private List<Transaction> transactions; 32  33  public TransactionsMessage(List<Transaction> transactions) { 34  this.transactions = transactions; 35  } 36  37  public List<Transaction> getTransactions() { 38  return this.transactions; 39  } 40  41  @Override 42  public MessageType getMessageType() { 43  return MessageType.TRANSACTIONS; 44  } 45  46  @Override 47  public byte[] getEncodedMessage() { 48  List<byte[]> encodedElements = new ArrayList<>(); 49  50  for (Transaction tx : transactions) { 51  encodedElements.add(tx.getEncoded()); 52  } 53  54  byte[][] encodedElementArray = encodedElements.toArray(new byte[encodedElements.size()][]); 55  56  return RLP.encodeList(encodedElementArray); 57  } 58  59  public String getMessageContentInfo() { 60  if (this.transactions == null) { 61  return ""; 62  } 63  64  StringBuilder sb = new StringBuilder().append(transactions.size()).append(" Received: "); 65  this.transactions.forEach(tx -> sb.append(tx.getHash().toHexString()).append(", ")); 66  return sb.toString(); 67  } 68  69  @Override 70  public void accept(MessageVisitor v) { 71  v.apply(this); 72  } 73 }