func (m *PBNode) Unmarshal(data []byte) error { l := len(data) index := 0 for index < l { var wire uint64 for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) switch fieldNum { case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType) } var msglen int for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } postIndex := index + msglen if postIndex > l { return io.ErrUnexpectedEOF } m.Links = append(m.Links, &PBLink{}) m.Links[len(m.Links)-1].Unmarshal(data[index:postIndex]) index = postIndex case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ byteLen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } postIndex := index + byteLen if postIndex > l { return io.ErrUnexpectedEOF } m.Data = append(m.Data, data[index:postIndex]...) index = postIndex default: var sizeOfWire int for { sizeOfWire++ wire >>= 7 if wire == 0 { break } } index -= sizeOfWire skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:]) if err != nil { return err } if (index + skippy) > l { return io.ErrUnexpectedEOF } m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...) index += skippy } } return nil }
func (m *PBLink) Unmarshal(data []byte) error { l := len(data) index := 0 for index < l { var wire uint64 for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) switch fieldNum { case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ byteLen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } postIndex := index + byteLen if postIndex > l { return io.ErrUnexpectedEOF } m.Hash = append(m.Hash, data[index:postIndex]...) index = postIndex case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } postIndex := index + int(stringLen) if postIndex > l { return io.ErrUnexpectedEOF } s := string(data[index:postIndex]) m.Name = &s index = postIndex case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Tsize", wireType) } var v uint64 for shift := uint(0); ; shift += 7 { if index >= l { return io.ErrUnexpectedEOF } b := data[index] index++ v |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } m.Tsize = &v default: var sizeOfWire int for { sizeOfWire++ wire >>= 7 if wire == 0 { break } } index -= sizeOfWire skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:]) if err != nil { return err } if (index + skippy) > l { return io.ErrUnexpectedEOF } m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...) index += skippy } } return nil }