public void Deserialize(byte[] Data) { List<ProtocolDataType> PDTs = ProtocolPackager.UnPackRaw(Data); int cnt = 0; Init(); while (cnt < (int)PDTs.Count) { ProtocolDataType PDT = PDTs[cnt++]; if (PDT.NameType == 0) { ProtocolPackager.UnpackVarint(PDT, 0, ref TotalRequestedNodes); } else if (PDT.NameType == 1) { byte[] _data = new byte[0]; if (ProtocolPackager.UnpackByteVector(PDT, 1, ref _data)) { NodeDataEntity nie = new NodeDataEntity(); nie.Deserialize(_data); RequestedNodes.Add(nie); } } } }
public RootDataResponse(ListTreeNode root, LedgerCloseData ledgerCloseData) { RootHash = root.Hash; LeafCount = root.LeafCount; LedgerCloseData = ledgerCloseData; Children = new NodeDataEntity[16]; for (int i = 0; i < 16; i++) { ListTreeNode LTN = root.Children[i]; if(LTN != null) Children[i] = new NodeDataEntity(LTN); } }
public void Deserialize(byte[] Data) { List<ProtocolDataType> PDTs = ProtocolPackager.UnPackRaw(Data); int cnt = 0; Init(); while (cnt < (int)PDTs.Count) { ProtocolDataType PDT = PDTs[cnt++]; if (PDT.NameType == 0) { byte[] _data0 = new byte[0]; ProtocolPackager.UnpackByteVector(PDT, 0, ref _data0); RootHash = new Hash(_data0); } else if (PDT.NameType == 1) { ProtocolPackager.UnpackVarint(PDT, 1, ref LeafCount); } else if (PDT.NameType == 2) { byte[] _data1 = new byte[0]; if (ProtocolPackager.UnpackByteVector(PDT, 2, ref _data1)) { LedgerCloseData.Deserialize(_data1); } } else if ((PDT.NameType >= 10) && (PDT.NameType <= 26)) { byte[] _data2 = new byte[0]; if(ProtocolPackager.UnpackByteVector(PDT, PDT.NameType, ref _data2)) { NodeDataEntity nd = new NodeDataEntity(); nd.Deserialize(_data2); Children[PDT.NameType - 10] = nd; } } } }
public AllLeafDataRequest(NodeDataEntity ndr) { this.TotalRequestedLeaves = ndr.LeafCount; this.AddressNibbles = ndr.AddressNibbles; }
public void Add(NodeDataEntity entry) { RequestedNodes.Add(entry); TotalRequestedNodes++; }