// Code generated from remote.proto package prompb import ( "fmt" "io" ) // WriteRequest represents Prometheus remote write API request type WriteRequest struct { Timeseries []TimeSeries labelsPool []Label samplesPool []Sample } // Unmarshal unmarshals m from dAtA. func (m *WriteRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { preIndex := iNdEx var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return errIntOverflowRemote } 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) if wireType == 4 { return fmt.Errorf("proto: WriteRequest: wiretype end group for non-group") } if fieldNum <= 0 { return fmt.Errorf("proto: WriteRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Timeseries", wireType) } var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return errIntOverflowRemote } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ msglen |= (int(b) & 0x7F) << shift if b < 0x80 { break } } if msglen < 0 { return errInvalidLengthRemote } postIndex := iNdEx + msglen if postIndex > l { return io.ErrUnexpectedEOF } if cap(m.Timeseries) > len(m.Timeseries) { m.Timeseries = m.Timeseries[:len(m.Timeseries)+1] } else { m.Timeseries = append(m.Timeseries, TimeSeries{}) } ts := &m.Timeseries[len(m.Timeseries)-1] var err error m.labelsPool, m.samplesPool, err = ts.Unmarshal(dAtA[iNdEx:postIndex], m.labelsPool, m.samplesPool) if err != nil { return err } iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRemote(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { return errInvalidLengthRemote } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } iNdEx += skippy } } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } func skipRemote(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 for iNdEx < l { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, errIntOverflowRemote } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } wireType := int(wire & 0x7) switch wireType { case 0: for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, errIntOverflowRemote } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } iNdEx++ if dAtA[iNdEx-1] < 0x80 { break } } return iNdEx, nil case 1: iNdEx += 8 return iNdEx, nil case 2: var length int for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, errIntOverflowRemote } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ length |= (int(b) & 0x7F) << shift if b < 0x80 { break } } iNdEx += length if length < 0 { return 0, errInvalidLengthRemote } return iNdEx, nil case 3: for { var innerWire uint64 start := iNdEx for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, errIntOverflowRemote } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ innerWire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } innerWireType := int(innerWire & 0x7) if innerWireType == 4 { break } next, err := skipRemote(dAtA[start:]) if err != nil { return 0, err } iNdEx = start + next } return iNdEx, nil case 4: return iNdEx, nil case 5: iNdEx += 4 return iNdEx, nil default: return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } } panic("unreachable") } var ( errInvalidLengthRemote = fmt.Errorf("proto: negative length found during unmarshaling") errIntOverflowRemote = fmt.Errorf("proto: integer overflow") )