blob: 3997c604f4175d051b675dddf7497fcb177d178b [file] [log] [blame]
Andrea Campanella3614a922021-02-25 12:40:42 +01001// Protocol Buffers - Google's data interchange format
2// Copyright 2008 Google Inc. All rights reserved.
3// https://developers.google.com/protocol-buffers/
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are
7// met:
8//
9// * Redistributions of source code must retain the above copyright
10// notice, this list of conditions and the following disclaimer.
11// * Redistributions in binary form must reproduce the above
12// copyright notice, this list of conditions and the following disclaimer
13// in the documentation and/or other materials provided with the
14// distribution.
15// * Neither the name of Google Inc. nor the names of its
16// contributors may be used to endorse or promote products derived from
17// this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31// Code generated by protoc-gen-go. DO NOT EDIT.
32// source: google/protobuf/duration.proto
33
34package durationpb
35
36import (
37 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
38 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
39 reflect "reflect"
40 sync "sync"
41)
42
43// A Duration represents a signed, fixed-length span of time represented
44// as a count of seconds and fractions of seconds at nanosecond
45// resolution. It is independent of any calendar and concepts like "day"
46// or "month". It is related to Timestamp in that the difference between
47// two Timestamp values is a Duration and it can be added or subtracted
48// from a Timestamp. Range is approximately +-10,000 years.
49//
50// # Examples
51//
52// Example 1: Compute Duration from two Timestamps in pseudo code.
53//
54// Timestamp start = ...;
55// Timestamp end = ...;
56// Duration duration = ...;
57//
58// duration.seconds = end.seconds - start.seconds;
59// duration.nanos = end.nanos - start.nanos;
60//
61// if (duration.seconds < 0 && duration.nanos > 0) {
62// duration.seconds += 1;
63// duration.nanos -= 1000000000;
64// } else if (duration.seconds > 0 && duration.nanos < 0) {
65// duration.seconds -= 1;
66// duration.nanos += 1000000000;
67// }
68//
69// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
70//
71// Timestamp start = ...;
72// Duration duration = ...;
73// Timestamp end = ...;
74//
75// end.seconds = start.seconds + duration.seconds;
76// end.nanos = start.nanos + duration.nanos;
77//
78// if (end.nanos < 0) {
79// end.seconds -= 1;
80// end.nanos += 1000000000;
81// } else if (end.nanos >= 1000000000) {
82// end.seconds += 1;
83// end.nanos -= 1000000000;
84// }
85//
86// Example 3: Compute Duration from datetime.timedelta in Python.
87//
88// td = datetime.timedelta(days=3, minutes=10)
89// duration = Duration()
90// duration.FromTimedelta(td)
91//
92// # JSON Mapping
93//
94// In JSON format, the Duration type is encoded as a string rather than an
95// object, where the string ends in the suffix "s" (indicating seconds) and
96// is preceded by the number of seconds, with nanoseconds expressed as
97// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
98// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
99// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
100// microsecond should be expressed in JSON format as "3.000001s".
101//
102//
103type Duration struct {
104 state protoimpl.MessageState
105 sizeCache protoimpl.SizeCache
106 unknownFields protoimpl.UnknownFields
107
108 // Signed seconds of the span of time. Must be from -315,576,000,000
109 // to +315,576,000,000 inclusive. Note: these bounds are computed from:
110 // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
111 Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
112 // Signed fractions of a second at nanosecond resolution of the span
113 // of time. Durations less than one second are represented with a 0
114 // `seconds` field and a positive or negative `nanos` field. For durations
115 // of one second or more, a non-zero value for the `nanos` field must be
116 // of the same sign as the `seconds` field. Must be from -999,999,999
117 // to +999,999,999 inclusive.
118 Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
119}
120
121func (x *Duration) Reset() {
122 *x = Duration{}
123 if protoimpl.UnsafeEnabled {
124 mi := &file_google_protobuf_duration_proto_msgTypes[0]
125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
126 ms.StoreMessageInfo(mi)
127 }
128}
129
130func (x *Duration) String() string {
131 return protoimpl.X.MessageStringOf(x)
132}
133
134func (*Duration) ProtoMessage() {}
135
136func (x *Duration) ProtoReflect() protoreflect.Message {
137 mi := &file_google_protobuf_duration_proto_msgTypes[0]
138 if protoimpl.UnsafeEnabled && x != nil {
139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
140 if ms.LoadMessageInfo() == nil {
141 ms.StoreMessageInfo(mi)
142 }
143 return ms
144 }
145 return mi.MessageOf(x)
146}
147
148// Deprecated: Use Duration.ProtoReflect.Descriptor instead.
149func (*Duration) Descriptor() ([]byte, []int) {
150 return file_google_protobuf_duration_proto_rawDescGZIP(), []int{0}
151}
152
153func (x *Duration) GetSeconds() int64 {
154 if x != nil {
155 return x.Seconds
156 }
157 return 0
158}
159
160func (x *Duration) GetNanos() int32 {
161 if x != nil {
162 return x.Nanos
163 }
164 return 0
165}
166
167var File_google_protobuf_duration_proto protoreflect.FileDescriptor
168
169var file_google_protobuf_duration_proto_rawDesc = []byte{
170 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
171 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
172 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
173 0x66, 0x22, 0x3a, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
174 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
175 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73,
176 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x7c, 0x0a,
177 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
178 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
179 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
180 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
181 0x66, 0x2f, 0x70, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
182 0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f,
183 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c,
184 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f,
185 0x74, 0x6f, 0x33,
186}
187
188var (
189 file_google_protobuf_duration_proto_rawDescOnce sync.Once
190 file_google_protobuf_duration_proto_rawDescData = file_google_protobuf_duration_proto_rawDesc
191)
192
193func file_google_protobuf_duration_proto_rawDescGZIP() []byte {
194 file_google_protobuf_duration_proto_rawDescOnce.Do(func() {
195 file_google_protobuf_duration_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_duration_proto_rawDescData)
196 })
197 return file_google_protobuf_duration_proto_rawDescData
198}
199
200var file_google_protobuf_duration_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
201var file_google_protobuf_duration_proto_goTypes = []interface{}{
202 (*Duration)(nil), // 0: google.protobuf.Duration
203}
204var file_google_protobuf_duration_proto_depIdxs = []int32{
205 0, // [0:0] is the sub-list for method output_type
206 0, // [0:0] is the sub-list for method input_type
207 0, // [0:0] is the sub-list for extension type_name
208 0, // [0:0] is the sub-list for extension extendee
209 0, // [0:0] is the sub-list for field type_name
210}
211
212func init() { file_google_protobuf_duration_proto_init() }
213func file_google_protobuf_duration_proto_init() {
214 if File_google_protobuf_duration_proto != nil {
215 return
216 }
217 if !protoimpl.UnsafeEnabled {
218 file_google_protobuf_duration_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
219 switch v := v.(*Duration); i {
220 case 0:
221 return &v.state
222 case 1:
223 return &v.sizeCache
224 case 2:
225 return &v.unknownFields
226 default:
227 return nil
228 }
229 }
230 }
231 type x struct{}
232 out := protoimpl.TypeBuilder{
233 File: protoimpl.DescBuilder{
234 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
235 RawDescriptor: file_google_protobuf_duration_proto_rawDesc,
236 NumEnums: 0,
237 NumMessages: 1,
238 NumExtensions: 0,
239 NumServices: 0,
240 },
241 GoTypes: file_google_protobuf_duration_proto_goTypes,
242 DependencyIndexes: file_google_protobuf_duration_proto_depIdxs,
243 MessageInfos: file_google_protobuf_duration_proto_msgTypes,
244 }.Build()
245 File_google_protobuf_duration_proto = out.File
246 file_google_protobuf_duration_proto_rawDesc = nil
247 file_google_protobuf_duration_proto_goTypes = nil
248 file_google_protobuf_duration_proto_depIdxs = nil
249}