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

Class Class, % Method, % Line, %
BlockHeadersResponseMessage 0% (0/1) 0% (0/6) 0% (0/13)


1 package co.rsk.net.messages; 2  3 import org.ethereum.core.BlockHeader; 4 import org.ethereum.util.RLP; 5  6 import java.util.List; 7  8 /** 9  * Created by ajlopez on 24/08/2017. 10  */ 11 public class BlockHeadersResponseMessage extends MessageWithId { 12  /** 13  * Id to identify request/response correlation 14  */ 15  private long id; 16  17  /** 18  * List of block headers from the peer 19  */ 20  private List<BlockHeader> blockHeaders; 21  22  public BlockHeadersResponseMessage(long id, List<BlockHeader> headers) { 23  this.id = id; 24  this.blockHeaders = headers; 25  } 26  27  @Override 28  public long getId() { return this.id; } 29  30  public List<BlockHeader> getBlockHeaders() { return this.blockHeaders; } 31  32  @Override 33  protected byte[] getEncodedMessageWithoutId() { 34  byte[][] rlpHeaders = this.blockHeaders.stream() 35  .map(BlockHeader::getFullEncoded) 36  .toArray(byte[][]::new); 37  38  return RLP.encodeList(RLP.encodeList(rlpHeaders)); 39  } 40  41  @Override 42  public MessageType getMessageType() { 43  return MessageType.BLOCK_HEADERS_RESPONSE_MESSAGE; 44  } 45  46  @Override 47  public void accept(MessageVisitor v) { 48  v.apply(this); 49  } 50 }