func (p *Peer) handleGetObjectByHashReply(reply *protocol.TMGetObjectByHash) { var nodes []data.Hashable typ := data.NT_ACCOUNT_NODE if reply.GetType() == protocol.TMGetObjectByHash_otTRANSACTION_NODE { typ = data.NT_TRANSACTION_NODE } for _, obj := range reply.GetObjects() { blob := append(obj.GetData(), obj.GetHash()...) nodeid, err := data.NewHash256(obj.GetIndex()) if err != nil { glog.Errorf("%s: %s Ledger: %d Blob: %X", p.String(), err.Error(), reply.GetSeq(), blob) return } node, err := data.ReadWire(bytes.NewReader(blob), typ, reply.GetSeq(), *nodeid) if err != nil { glog.Errorf("%s: %s Ledger: %d Blob: %X", p.String(), err.Error(), reply.GetSeq(), blob) return } glog.Infoln(node) nodes = append(nodes, node) } p.sync.Submit(nodes) }