| // Code generated by protoc-gen-gogo. DO NOT EDIT. |
| // source: google/protobuf/duration.proto |
| |
| package types |
| |
| import proto "github.com/gogo/protobuf/proto" |
| import fmt "fmt" |
| import math "math" |
| |
| import bytes "bytes" |
| |
| import strings "strings" |
| import reflect "reflect" |
| |
| import io "io" |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ = proto.Marshal |
| var _ = fmt.Errorf |
| var _ = math.Inf |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the proto package it is being compiled against. |
| // A compilation error at this line likely means your copy of the |
| // proto package needs to be updated. |
| const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package |
| |
| // A Duration represents a signed, fixed-length span of time represented |
| // as a count of seconds and fractions of seconds at nanosecond |
| // resolution. It is independent of any calendar and concepts like "day" |
| // or "month". It is related to Timestamp in that the difference between |
| // two Timestamp values is a Duration and it can be added or subtracted |
| // from a Timestamp. Range is approximately +-10,000 years. |
| // |
| // # Examples |
| // |
| // Example 1: Compute Duration from two Timestamps in pseudo code. |
| // |
| // Timestamp start = ...; |
| // Timestamp end = ...; |
| // Duration duration = ...; |
| // |
| // duration.seconds = end.seconds - start.seconds; |
| // duration.nanos = end.nanos - start.nanos; |
| // |
| // if (duration.seconds < 0 && duration.nanos > 0) { |
| // duration.seconds += 1; |
| // duration.nanos -= 1000000000; |
| // } else if (durations.seconds > 0 && duration.nanos < 0) { |
| // duration.seconds -= 1; |
| // duration.nanos += 1000000000; |
| // } |
| // |
| // Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. |
| // |
| // Timestamp start = ...; |
| // Duration duration = ...; |
| // Timestamp end = ...; |
| // |
| // end.seconds = start.seconds + duration.seconds; |
| // end.nanos = start.nanos + duration.nanos; |
| // |
| // if (end.nanos < 0) { |
| // end.seconds -= 1; |
| // end.nanos += 1000000000; |
| // } else if (end.nanos >= 1000000000) { |
| // end.seconds += 1; |
| // end.nanos -= 1000000000; |
| // } |
| // |
| // Example 3: Compute Duration from datetime.timedelta in Python. |
| // |
| // td = datetime.timedelta(days=3, minutes=10) |
| // duration = Duration() |
| // duration.FromTimedelta(td) |
| // |
| // # JSON Mapping |
| // |
| // In JSON format, the Duration type is encoded as a string rather than an |
| // object, where the string ends in the suffix "s" (indicating seconds) and |
| // is preceded by the number of seconds, with nanoseconds expressed as |
| // fractional seconds. For example, 3 seconds with 0 nanoseconds should be |
| // encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should |
| // be expressed in JSON format as "3.000000001s", and 3 seconds and 1 |
| // microsecond should be expressed in JSON format as "3.000001s". |
| // |
| // |
| type Duration struct { |
| // Signed seconds of the span of time. Must be from -315,576,000,000 |
| // to +315,576,000,000 inclusive. Note: these bounds are computed from: |
| // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
| Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` |
| // Signed fractions of a second at nanosecond resolution of the span |
| // of time. Durations less than one second are represented with a 0 |
| // `seconds` field and a positive or negative `nanos` field. For durations |
| // of one second or more, a non-zero value for the `nanos` field must be |
| // of the same sign as the `seconds` field. Must be from -999,999,999 |
| // to +999,999,999 inclusive. |
| Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` |
| XXX_NoUnkeyedLiteral struct{} `json:"-"` |
| XXX_unrecognized []byte `json:"-"` |
| XXX_sizecache int32 `json:"-"` |
| } |
| |
| func (m *Duration) Reset() { *m = Duration{} } |
| func (*Duration) ProtoMessage() {} |
| func (*Duration) Descriptor() ([]byte, []int) { |
| return fileDescriptor_duration_7f04bf66a647e6f6, []int{0} |
| } |
| func (*Duration) XXX_WellKnownType() string { return "Duration" } |
| func (m *Duration) XXX_Unmarshal(b []byte) error { |
| return m.Unmarshal(b) |
| } |
| func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { |
| if deterministic { |
| return xxx_messageInfo_Duration.Marshal(b, m, deterministic) |
| } else { |
| b = b[:cap(b)] |
| n, err := m.MarshalTo(b) |
| if err != nil { |
| return nil, err |
| } |
| return b[:n], nil |
| } |
| } |
| func (dst *Duration) XXX_Merge(src proto.Message) { |
| xxx_messageInfo_Duration.Merge(dst, src) |
| } |
| func (m *Duration) XXX_Size() int { |
| return m.Size() |
| } |
| func (m *Duration) XXX_DiscardUnknown() { |
| xxx_messageInfo_Duration.DiscardUnknown(m) |
| } |
| |
| var xxx_messageInfo_Duration proto.InternalMessageInfo |
| |
| func (m *Duration) GetSeconds() int64 { |
| if m != nil { |
| return m.Seconds |
| } |
| return 0 |
| } |
| |
| func (m *Duration) GetNanos() int32 { |
| if m != nil { |
| return m.Nanos |
| } |
| return 0 |
| } |
| |
| func (*Duration) XXX_MessageName() string { |
| return "google.protobuf.Duration" |
| } |
| func init() { |
| proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") |
| } |
| func (this *Duration) Compare(that interface{}) int { |
| if that == nil { |
| if this == nil { |
| return 0 |
| } |
| return 1 |
| } |
| |
| that1, ok := that.(*Duration) |
| if !ok { |
| that2, ok := that.(Duration) |
| if ok { |
| that1 = &that2 |
| } else { |
| return 1 |
| } |
| } |
| if that1 == nil { |
| if this == nil { |
| return 0 |
| } |
| return 1 |
| } else if this == nil { |
| return -1 |
| } |
| if this.Seconds != that1.Seconds { |
| if this.Seconds < that1.Seconds { |
| return -1 |
| } |
| return 1 |
| } |
| if this.Nanos != that1.Nanos { |
| if this.Nanos < that1.Nanos { |
| return -1 |
| } |
| return 1 |
| } |
| if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { |
| return c |
| } |
| return 0 |
| } |
| func (this *Duration) Equal(that interface{}) bool { |
| if that == nil { |
| return this == nil |
| } |
| |
| that1, ok := that.(*Duration) |
| if !ok { |
| that2, ok := that.(Duration) |
| if ok { |
| that1 = &that2 |
| } else { |
| return false |
| } |
| } |
| if that1 == nil { |
| return this == nil |
| } else if this == nil { |
| return false |
| } |
| if this.Seconds != that1.Seconds { |
| return false |
| } |
| if this.Nanos != that1.Nanos { |
| return false |
| } |
| if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { |
| return false |
| } |
| return true |
| } |
| func (this *Duration) GoString() string { |
| if this == nil { |
| return "nil" |
| } |
| s := make([]string, 0, 6) |
| s = append(s, "&types.Duration{") |
| s = append(s, "Seconds: "+fmt.Sprintf("%#v", this.Seconds)+",\n") |
| s = append(s, "Nanos: "+fmt.Sprintf("%#v", this.Nanos)+",\n") |
| if this.XXX_unrecognized != nil { |
| s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") |
| } |
| s = append(s, "}") |
| return strings.Join(s, "") |
| } |
| func valueToGoStringDuration(v interface{}, typ string) string { |
| rv := reflect.ValueOf(v) |
| if rv.IsNil() { |
| return "nil" |
| } |
| pv := reflect.Indirect(rv).Interface() |
| return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) |
| } |
| func (m *Duration) Marshal() (dAtA []byte, err error) { |
| size := m.Size() |
| dAtA = make([]byte, size) |
| n, err := m.MarshalTo(dAtA) |
| if err != nil { |
| return nil, err |
| } |
| return dAtA[:n], nil |
| } |
| |
| func (m *Duration) MarshalTo(dAtA []byte) (int, error) { |
| var i int |
| _ = i |
| var l int |
| _ = l |
| if m.Seconds != 0 { |
| dAtA[i] = 0x8 |
| i++ |
| i = encodeVarintDuration(dAtA, i, uint64(m.Seconds)) |
| } |
| if m.Nanos != 0 { |
| dAtA[i] = 0x10 |
| i++ |
| i = encodeVarintDuration(dAtA, i, uint64(m.Nanos)) |
| } |
| if m.XXX_unrecognized != nil { |
| i += copy(dAtA[i:], m.XXX_unrecognized) |
| } |
| return i, nil |
| } |
| |
| func encodeVarintDuration(dAtA []byte, offset int, v uint64) int { |
| for v >= 1<<7 { |
| dAtA[offset] = uint8(v&0x7f | 0x80) |
| v >>= 7 |
| offset++ |
| } |
| dAtA[offset] = uint8(v) |
| return offset + 1 |
| } |
| func (m *Duration) Size() (n int) { |
| var l int |
| _ = l |
| if m.Seconds != 0 { |
| n += 1 + sovDuration(uint64(m.Seconds)) |
| } |
| if m.Nanos != 0 { |
| n += 1 + sovDuration(uint64(m.Nanos)) |
| } |
| if m.XXX_unrecognized != nil { |
| n += len(m.XXX_unrecognized) |
| } |
| return n |
| } |
| |
| func sovDuration(x uint64) (n int) { |
| for { |
| n++ |
| x >>= 7 |
| if x == 0 { |
| break |
| } |
| } |
| return n |
| } |
| func sozDuration(x uint64) (n int) { |
| return sovDuration(uint64((x << 1) ^ uint64((int64(x) >> 63)))) |
| } |
| func (m *Duration) 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 ErrIntOverflowDuration |
| } |
| 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: Duration: wiretype end group for non-group") |
| } |
| if fieldNum <= 0 { |
| return fmt.Errorf("proto: Duration: illegal tag %d (wire type %d)", fieldNum, wire) |
| } |
| switch fieldNum { |
| case 1: |
| if wireType != 0 { |
| return fmt.Errorf("proto: wrong wireType = %d for field Seconds", wireType) |
| } |
| m.Seconds = 0 |
| for shift := uint(0); ; shift += 7 { |
| if shift >= 64 { |
| return ErrIntOverflowDuration |
| } |
| if iNdEx >= l { |
| return io.ErrUnexpectedEOF |
| } |
| b := dAtA[iNdEx] |
| iNdEx++ |
| m.Seconds |= (int64(b) & 0x7F) << shift |
| if b < 0x80 { |
| break |
| } |
| } |
| case 2: |
| if wireType != 0 { |
| return fmt.Errorf("proto: wrong wireType = %d for field Nanos", wireType) |
| } |
| m.Nanos = 0 |
| for shift := uint(0); ; shift += 7 { |
| if shift >= 64 { |
| return ErrIntOverflowDuration |
| } |
| if iNdEx >= l { |
| return io.ErrUnexpectedEOF |
| } |
| b := dAtA[iNdEx] |
| iNdEx++ |
| m.Nanos |= (int32(b) & 0x7F) << shift |
| if b < 0x80 { |
| break |
| } |
| } |
| default: |
| iNdEx = preIndex |
| skippy, err := skipDuration(dAtA[iNdEx:]) |
| if err != nil { |
| return err |
| } |
| if skippy < 0 { |
| return ErrInvalidLengthDuration |
| } |
| if (iNdEx + skippy) > l { |
| return io.ErrUnexpectedEOF |
| } |
| m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) |
| iNdEx += skippy |
| } |
| } |
| |
| if iNdEx > l { |
| return io.ErrUnexpectedEOF |
| } |
| return nil |
| } |
| func skipDuration(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, ErrIntOverflowDuration |
| } |
| 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, ErrIntOverflowDuration |
| } |
| 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, ErrIntOverflowDuration |
| } |
| 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, ErrInvalidLengthDuration |
| } |
| return iNdEx, nil |
| case 3: |
| for { |
| var innerWire uint64 |
| var start int = iNdEx |
| for shift := uint(0); ; shift += 7 { |
| if shift >= 64 { |
| return 0, ErrIntOverflowDuration |
| } |
| 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 := skipDuration(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 ( |
| ErrInvalidLengthDuration = fmt.Errorf("proto: negative length found during unmarshaling") |
| ErrIntOverflowDuration = fmt.Errorf("proto: integer overflow") |
| ) |
| |
| func init() { |
| proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_duration_7f04bf66a647e6f6) |
| } |
| |
| var fileDescriptor_duration_7f04bf66a647e6f6 = []byte{ |
| // 215 bytes of a gzipped FileDescriptorProto |
| 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, |
| 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, |
| 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, |
| 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, |
| 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, |
| 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0xd4, 0xcc, 0x78, 0xe1, 0xa1, |
| 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, |
| 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, |
| 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, |
| 0xe7, 0xea, 0xa1, 0xd9, 0xef, 0xc4, 0x0b, 0xb3, 0x3d, 0x00, 0x24, 0x12, 0xc0, 0x18, 0xc5, 0x5a, |
| 0x52, 0x59, 0x90, 0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, |
| 0x39, 0x77, 0x88, 0x96, 0x00, 0xa8, 0x16, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, |
| 0xbc, 0x10, 0x90, 0xca, 0x24, 0x36, 0xb0, 0x59, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7d, |
| 0xb1, 0xa3, 0x66, 0xfb, 0x00, 0x00, 0x00, |
| } |