Coverage Summary for Class: PeerDiscoveryMessageFactory (co.rsk.net.discovery.message)

Class Class, % Method, % Line, %
PeerDiscoveryMessageFactory 0% (0/1) 0% (0/2) 0% (0/9)


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.discovery.message; 20  21 /** 22  * Created by mario on 13/02/17. 23  */ 24 public class PeerDiscoveryMessageFactory { 25  private PeerDiscoveryMessageFactory() {} 26  27  public static PeerDiscoveryMessage createMessage(byte[] wire, byte[] mdc, byte[] signature, byte[] type, byte[] data) { 28  DiscoveryMessageType msgType = DiscoveryMessageType.valueOfType(type[0]); 29  30  if (msgType == DiscoveryMessageType.PING) { 31  return new PingPeerMessage(wire, mdc, signature, type, data); 32  } 33  34  if (msgType == DiscoveryMessageType.PONG) { 35  return new PongPeerMessage(wire, mdc, signature, type, data); 36  } 37  38  if (msgType == DiscoveryMessageType.FIND_NODE) { 39  return new FindNodePeerMessage(wire, mdc, signature, type, data); 40  } 41  42  return new NeighborsPeerMessage(wire, mdc, signature, type, data); 43  } 44 }