public FindNodeMessage(Node from, byte[] target_id) : base(UdpMessageType.DISCOVER_FIND_NODE, null) { Protocol.Endpoint endpoint_from = new Protocol.Endpoint(); endpoint_from.NodeId = ByteString.CopyFrom(from.Id); endpoint_from.Port = from.Port; endpoint_from.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(from.Host)); this.message = new Protocol.FindNeighbours(); this.message.From = endpoint_from; this.message.TargetId = ByteString.CopyFrom(target_id); this.message.Timestamp = Helper.CurrentTimeMillis(); this.data = this.message.ToByteArray(); }
public PongMessage(Node from, long sequence) : base(UdpMessageType.DISCOVER_PONG, null) { Protocol.Endpoint endpoint_from = new Protocol.Endpoint(); endpoint_from.NodeId = ByteString.CopyFrom(from.Id); endpoint_from.Port = from.Port; endpoint_from.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(from.Host)); this.message = new Protocol.PongMessage(); this.message.From = endpoint_from; this.message.Echo = (int)Args.Instance.Node.P2P.Version; this.message.Timestamp = sequence; this.data = this.message.ToByteArray(); }
public PingMessage(Node from, Node to) : base(UdpMessageType.DISCOVER_PING, null) { Protocol.Endpoint endpoint_from = new Protocol.Endpoint(); endpoint_from.NodeId = ByteString.CopyFrom(from.Id); endpoint_from.Port = from.Port; endpoint_from.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(from.Host)); Protocol.Endpoint endpoint_to = new Protocol.Endpoint(); endpoint_to.NodeId = ByteString.CopyFrom(to.Id); endpoint_to.Port = to.Port; endpoint_to.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(to.Host)); this.message = new Protocol.PingMessage(); this.message.Version = (int)Args.Instance.Node.P2P.Version; this.message.From = endpoint_from; this.message.To = endpoint_to; this.message.Timestamp = Helper.CurrentTimeMillis(); this.data = this.message.ToByteArray(); }
public NeighborsMessage(Node from, List <Node> neighbours, long sequence) : base(UdpMessageType.DISCOVER_NEIGHBORS, null) { this.message = new Protocol.Neighbours(); this.message.Timestamp = sequence; neighbours.ForEach(neighbour => { Protocol.Endpoint endpoint = new Protocol.Endpoint(); endpoint.NodeId = ByteString.CopyFrom(neighbour.Id); endpoint.Port = neighbour.Port; endpoint.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(neighbour.Host)); this.message.Neighbours_.Add(endpoint); }); this.message.From = new Protocol.Endpoint(); this.message.From.NodeId = ByteString.CopyFrom(from.Id); this.message.From.Port = from.Port; this.message.From.Address = ByteString.CopyFrom(Encoding.UTF8.GetBytes(from.Host)); this.data = this.message.ToByteArray(); }