public IPv6Node(byte[] compactNodeInfo) { byte[] nodeId = new byte[NodeID.Size]; Array.Copy(compactNodeInfo, 0, nodeId, 0, NodeID.Size); ID = new NodeID(nodeId); Contact = new IPv6PeerContact(compactNodeInfo, NodeID.Size); CompactNodeInfo = compactNodeInfo; }
public IPv6Node(NodeID nodeId, IPv6PeerContact contact) { ID = nodeId; Contact = contact; CompactNodeInfo = new byte[CompactInfoSize]; Array.Copy(ID.Bytes, 0, CompactNodeInfo, 0, NodeID.Size); Contact.Encode(((Span <byte>)CompactNodeInfo).Slice(NodeID.Size)); }
public static void Encode(Span <byte> bytes, NodeID nodeId, IPAddress ipAddress, int port) { nodeId.CopyTo(bytes); IPv6PeerContact.Encode(bytes.Slice(NodeID.Size), ipAddress, port); }