@lansweeper/permissions-grpc 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.1.4](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.1.3...@lansweeper/permissions-grpc@0.1.4) (2023-07-18)
7
+
8
+ **Note:** Version bump only for package @lansweeper/permissions-grpc
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.1.3](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.1.2...@lansweeper/permissions-grpc@0.1.3) (2023-07-18)
15
+
16
+ **Note:** Version bump only for package @lansweeper/permissions-grpc
17
+
18
+
19
+
20
+
21
+
6
22
  ## [0.1.2](https://github.com/Lansweeper/lansweeperapis/compare/@lansweeper/permissions-grpc@0.1.1...@lansweeper/permissions-grpc@0.1.2) (2023-07-17)
7
23
 
8
24
  **Note:** Version bump only for package @lansweeper/permissions-grpc
@@ -1 +1 @@
1
- {"file":[{"name":"google/protobuf/any.proto","package":"google.protobuf","messageType":[{"name":"Any","field":[{"name":"type_url","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeUrl"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"AnyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/anypb","objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,157,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,67]},{"path":[8,11],"span":[35,0,67]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,41]},{"path":[8,8],"span":[37,0,41]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[4,0],"span":[124,0,157,1],"leadingComments":" `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\n Example 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\n The pack methods provided by protobuf library will by default use\n 'type.googleapis.com/full.type.name' as the type URL and the unpack\n methods only use the fully qualified type name after the last '/'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": <string>,\n \"lastName\": <string>\n }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }\n\n"},{"path":[4,0,1],"span":[124,8,11]},{"path":[4,0,2,0],"span":[153,2,22],"leadingComments":" A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL's path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n"},{"path":[4,0,2,0,5],"span":[153,2,8]},{"path":[4,0,2,0,1],"span":[153,9,17]},{"path":[4,0,2,0,3],"span":[153,20,21]},{"path":[4,0,2,1],"span":[156,2,18],"leadingComments":" Must be a valid serialized protocol buffer of the above specified type.\n"},{"path":[4,0,2,1,5],"span":[156,2,7]},{"path":[4,0,2,1,1],"span":[156,8,13]},{"path":[4,0,2,1,3],"span":[156,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/duration.proto","package":"google.protobuf","messageType":[{"name":"Duration","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DurationProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/durationpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,115,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,72]},{"path":[8,11],"span":[36,0,72]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,46]},{"path":[8,8],"span":[38,0,46]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[102,0,115,1],"leadingComments":" A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds < 0 && duration.nanos > 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds > 0 && duration.nanos < 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos < 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos >= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n\n\n"},{"path":[4,0,1],"span":[102,8,16]},{"path":[4,0,2,0],"span":[106,2,20],"leadingComments":" Signed seconds of the span of time. Must be from -315,576,000,000\n to +315,576,000,000 inclusive. Note: these bounds are computed from:\n 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n"},{"path":[4,0,2,0,5],"span":[106,2,7]},{"path":[4,0,2,0,1],"span":[106,8,15]},{"path":[4,0,2,0,3],"span":[106,18,19]},{"path":[4,0,2,1],"span":[114,2,18],"leadingComments":" Signed fractions of a second at nanosecond resolution of the span\n of time. Durations less than one second are represented with a 0\n `seconds` field and a positive or negative `nanos` field. For durations\n of one second or more, a non-zero value for the `nanos` field must be\n of the same sign as the `seconds` field. Must be from -999,999,999\n to +999,999,999 inclusive.\n"},{"path":[4,0,2,1,5],"span":[114,2,7]},{"path":[4,0,2,1,1],"span":[114,8,13]},{"path":[4,0,2,1,3],"span":[114,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/timestamp.proto","package":"google.protobuf","messageType":[{"name":"Timestamp","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"TimestampProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/timestamppb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,146,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,73]},{"path":[8,11],"span":[36,0,73]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,47]},{"path":[8,8],"span":[38,0,47]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[135,0,146,1],"leadingComments":" A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n ) to obtain a formatter capable of generating timestamps in this format.\n\n\n"},{"path":[4,0,1],"span":[135,8,17]},{"path":[4,0,2,0],"span":[139,2,20],"leadingComments":" Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n"},{"path":[4,0,2,0,5],"span":[139,2,7]},{"path":[4,0,2,0,1],"span":[139,8,15]},{"path":[4,0,2,0,3],"span":[139,18,19]},{"path":[4,0,2,1],"span":[145,2,18],"leadingComments":" Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n"},{"path":[4,0,2,1,5],"span":[145,2,7]},{"path":[4,0,2,1,1],"span":[145,8,13]},{"path":[4,0,2,1,3],"span":[145,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/wrappers.proto","package":"google.protobuf","messageType":[{"name":"DoubleValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"FloatValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}]},{"name":"Int64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}]},{"name":"UInt64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}]},{"name":"Int32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}]},{"name":"UInt32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}]},{"name":"BoolValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}]},{"name":"StringValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"BytesValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"WrappersProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/wrapperspb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[40,0,122,1]},{"path":[12],"span":[40,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"," Wrappers for primitive (non-message) types. These types are useful\n for embedding primitives in the `google.protobuf.Any` type and for places\n where we need to distinguish between the absence of a primitive\n typed field and its default value.\n\n These wrappers have no meaningful use within repeated fields as they lack\n the ability to detect presence on individual elements.\n These wrappers have no meaningful use within a map or a oneof since\n individual entries of a map or fields of a oneof can already detect presence.\n"]},{"path":[2],"span":[42,0,24]},{"path":[8],"span":[44,0,59]},{"path":[8,37],"span":[44,0,59]},{"path":[8],"span":[45,0,31]},{"path":[8,31],"span":[45,0,31]},{"path":[8],"span":[46,0,72]},{"path":[8,11],"span":[46,0,72]},{"path":[8],"span":[47,0,44]},{"path":[8,1],"span":[47,0,44]},{"path":[8],"span":[48,0,46]},{"path":[8,8],"span":[48,0,46]},{"path":[8],"span":[49,0,34]},{"path":[8,10],"span":[49,0,34]},{"path":[8],"span":[50,0,33]},{"path":[8,36],"span":[50,0,33]},{"path":[4,0],"span":[55,0,58,1],"leadingComments":" Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n"},{"path":[4,0,1],"span":[55,8,19]},{"path":[4,0,2,0],"span":[57,2,19],"leadingComments":" The double value.\n"},{"path":[4,0,2,0,5],"span":[57,2,8]},{"path":[4,0,2,0,1],"span":[57,9,14]},{"path":[4,0,2,0,3],"span":[57,17,18]},{"path":[4,1],"span":[63,0,66,1],"leadingComments":" Wrapper message for `float`.\n\n The JSON representation for `FloatValue` is JSON number.\n"},{"path":[4,1,1],"span":[63,8,18]},{"path":[4,1,2,0],"span":[65,2,18],"leadingComments":" The float value.\n"},{"path":[4,1,2,0,5],"span":[65,2,7]},{"path":[4,1,2,0,1],"span":[65,8,13]},{"path":[4,1,2,0,3],"span":[65,16,17]},{"path":[4,2],"span":[71,0,74,1],"leadingComments":" Wrapper message for `int64`.\n\n The JSON representation for `Int64Value` is JSON string.\n"},{"path":[4,2,1],"span":[71,8,18]},{"path":[4,2,2,0],"span":[73,2,18],"leadingComments":" The int64 value.\n"},{"path":[4,2,2,0,5],"span":[73,2,7]},{"path":[4,2,2,0,1],"span":[73,8,13]},{"path":[4,2,2,0,3],"span":[73,16,17]},{"path":[4,3],"span":[79,0,82,1],"leadingComments":" Wrapper message for `uint64`.\n\n The JSON representation for `UInt64Value` is JSON string.\n"},{"path":[4,3,1],"span":[79,8,19]},{"path":[4,3,2,0],"span":[81,2,19],"leadingComments":" The uint64 value.\n"},{"path":[4,3,2,0,5],"span":[81,2,8]},{"path":[4,3,2,0,1],"span":[81,9,14]},{"path":[4,3,2,0,3],"span":[81,17,18]},{"path":[4,4],"span":[87,0,90,1],"leadingComments":" Wrapper message for `int32`.\n\n The JSON representation for `Int32Value` is JSON number.\n"},{"path":[4,4,1],"span":[87,8,18]},{"path":[4,4,2,0],"span":[89,2,18],"leadingComments":" The int32 value.\n"},{"path":[4,4,2,0,5],"span":[89,2,7]},{"path":[4,4,2,0,1],"span":[89,8,13]},{"path":[4,4,2,0,3],"span":[89,16,17]},{"path":[4,5],"span":[95,0,98,1],"leadingComments":" Wrapper message for `uint32`.\n\n The JSON representation for `UInt32Value` is JSON number.\n"},{"path":[4,5,1],"span":[95,8,19]},{"path":[4,5,2,0],"span":[97,2,19],"leadingComments":" The uint32 value.\n"},{"path":[4,5,2,0,5],"span":[97,2,8]},{"path":[4,5,2,0,1],"span":[97,9,14]},{"path":[4,5,2,0,3],"span":[97,17,18]},{"path":[4,6],"span":[103,0,106,1],"leadingComments":" Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n"},{"path":[4,6,1],"span":[103,8,17]},{"path":[4,6,2,0],"span":[105,2,17],"leadingComments":" The bool value.\n"},{"path":[4,6,2,0,5],"span":[105,2,6]},{"path":[4,6,2,0,1],"span":[105,7,12]},{"path":[4,6,2,0,3],"span":[105,15,16]},{"path":[4,7],"span":[111,0,114,1],"leadingComments":" Wrapper message for `string`.\n\n The JSON representation for `StringValue` is JSON string.\n"},{"path":[4,7,1],"span":[111,8,19]},{"path":[4,7,2,0],"span":[113,2,19],"leadingComments":" The string value.\n"},{"path":[4,7,2,0,5],"span":[113,2,8]},{"path":[4,7,2,0,1],"span":[113,9,14]},{"path":[4,7,2,0,3],"span":[113,17,18]},{"path":[4,8],"span":[119,0,122,1],"leadingComments":" Wrapper message for `bytes`.\n\n The JSON representation for `BytesValue` is JSON string.\n"},{"path":[4,8,1],"span":[119,8,18]},{"path":[4,8,2,0],"span":[121,2,18],"leadingComments":" The bytes value.\n"},{"path":[4,8,2,0,5],"span":[121,2,7]},{"path":[4,8,2,0,1],"span":[121,8,13]},{"path":[4,8,2,0,3],"span":[121,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"node_modules/@grpc/grpc-js/proto/channelz.proto","package":"grpc.channelz.v1","dependency":["google/protobuf/any.proto","google/protobuf/duration.proto","google/protobuf/timestamp.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"Channel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"Subchannel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"ChannelConnectivityState","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelConnectivityState.State","jsonName":"state"}],"enumType":[{"name":"State","value":[{"name":"UNKNOWN","number":0},{"name":"IDLE","number":1},{"name":"CONNECTING","number":2},{"name":"READY","number":3},{"name":"TRANSIENT_FAILURE","number":4},{"name":"SHUTDOWN","number":5}]}]},{"name":"ChannelData","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelConnectivityState","jsonName":"state"},{"name":"target","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"target"},{"name":"trace","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"ChannelTraceEvent","field":[{"name":"description","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"severity","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelTraceEvent.Severity","jsonName":"severity"},{"name":"timestamp","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"timestamp"},{"name":"channel_ref","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","oneofIndex":0,"jsonName":"channelRef"},{"name":"subchannel_ref","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","oneofIndex":0,"jsonName":"subchannelRef"}],"enumType":[{"name":"Severity","value":[{"name":"CT_UNKNOWN","number":0},{"name":"CT_INFO","number":1},{"name":"CT_WARNING","number":2},{"name":"CT_ERROR","number":3}]}],"oneofDecl":[{"name":"child_ref"}]},{"name":"ChannelTrace","field":[{"name":"num_events_logged","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"numEventsLogged"},{"name":"creation_timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"creationTimestamp"},{"name":"events","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTraceEvent","jsonName":"events"}]},{"name":"ChannelRef","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"SubchannelRef","field":[{"name":"subchannel_id","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"},{"name":"name","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7}]},{"name":"SocketRef","field":[{"name":"socket_id","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"name","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"ServerRef","field":[{"name":"server_id","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"Server","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerData","jsonName":"data"},{"name":"listen_socket","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"listenSocket"}]},{"name":"ServerData","field":[{"name":"trace","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"Socket","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketData","jsonName":"data"},{"name":"local","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"local"},{"name":"remote","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"remote"},{"name":"security","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security","jsonName":"security"},{"name":"remote_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"remoteName"}]},{"name":"SocketData","field":[{"name":"streams_started","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsStarted"},{"name":"streams_succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsSucceeded"},{"name":"streams_failed","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsFailed"},{"name":"messages_sent","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesSent"},{"name":"messages_received","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesReceived"},{"name":"keep_alives_sent","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"keepAlivesSent"},{"name":"last_local_stream_created_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastLocalStreamCreatedTimestamp"},{"name":"last_remote_stream_created_timestamp","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastRemoteStreamCreatedTimestamp"},{"name":"last_message_sent_timestamp","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageSentTimestamp"},{"name":"last_message_received_timestamp","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageReceivedTimestamp"},{"name":"local_flow_control_window","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"localFlowControlWindow"},{"name":"remote_flow_control_window","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"remoteFlowControlWindow"},{"name":"option","number":13,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketOption","jsonName":"option"}]},{"name":"Address","field":[{"name":"tcpip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.TcpIpAddress","oneofIndex":0,"jsonName":"tcpipAddress"},{"name":"uds_address","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.UdsAddress","oneofIndex":0,"jsonName":"udsAddress"},{"name":"other_address","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.OtherAddress","oneofIndex":0,"jsonName":"otherAddress"}],"nestedType":[{"name":"TcpIpAddress","field":[{"name":"ip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"ipAddress"},{"name":"port","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"port"}]},{"name":"UdsAddress","field":[{"name":"filename","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"filename"}]},{"name":"OtherAddress","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"address"}]},{"name":"Security","field":[{"name":"tls","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.Tls","oneofIndex":0,"jsonName":"tls"},{"name":"other","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.OtherSecurity","oneofIndex":0,"jsonName":"other"}],"nestedType":[{"name":"Tls","field":[{"name":"standard_name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"standardName"},{"name":"other_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"otherName"},{"name":"local_certificate","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"localCertificate"},{"name":"remote_certificate","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"remoteCertificate"}],"oneofDecl":[{"name":"cipher_suite"}]},{"name":"OtherSecurity","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"model"}]},{"name":"SocketOption","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"},{"name":"additional","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"additional"}]},{"name":"SocketOptionTimeout","field":[{"name":"duration","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionLinger","field":[{"name":"active","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"active"},{"name":"duration","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionTcpInfo","field":[{"name":"tcpi_state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiState"},{"name":"tcpi_ca_state","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiCaState"},{"name":"tcpi_retransmits","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetransmits"},{"name":"tcpi_probes","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiProbes"},{"name":"tcpi_backoff","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiBackoff"},{"name":"tcpi_options","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiOptions"},{"name":"tcpi_snd_wscale","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndWscale"},{"name":"tcpi_rcv_wscale","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvWscale"},{"name":"tcpi_rto","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRto"},{"name":"tcpi_ato","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAto"},{"name":"tcpi_snd_mss","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndMss"},{"name":"tcpi_rcv_mss","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvMss"},{"name":"tcpi_unacked","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiUnacked"},{"name":"tcpi_sacked","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSacked"},{"name":"tcpi_lost","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLost"},{"name":"tcpi_retrans","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetrans"},{"name":"tcpi_fackets","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiFackets"},{"name":"tcpi_last_data_sent","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataSent"},{"name":"tcpi_last_ack_sent","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckSent"},{"name":"tcpi_last_data_recv","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataRecv"},{"name":"tcpi_last_ack_recv","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckRecv"},{"name":"tcpi_pmtu","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiPmtu"},{"name":"tcpi_rcv_ssthresh","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvSsthresh"},{"name":"tcpi_rtt","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRtt"},{"name":"tcpi_rttvar","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRttvar"},{"name":"tcpi_snd_ssthresh","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndSsthresh"},{"name":"tcpi_snd_cwnd","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndCwnd"},{"name":"tcpi_advmss","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAdvmss"},{"name":"tcpi_reordering","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiReordering"}]},{"name":"GetTopChannelsRequest","field":[{"name":"start_channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startChannelId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetTopChannelsResponse","field":[{"name":"channel","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServersRequest","field":[{"name":"start_server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startServerId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServersResponse","field":[{"name":"server","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServerRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"}]},{"name":"GetServerResponse","field":[{"name":"server","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"}]},{"name":"GetServerSocketsRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"start_socket_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startSocketId"},{"name":"max_results","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServerSocketsResponse","field":[{"name":"socket_ref","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetChannelRequest","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"}]},{"name":"GetChannelResponse","field":[{"name":"channel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"}]},{"name":"GetSubchannelRequest","field":[{"name":"subchannel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"}]},{"name":"GetSubchannelResponse","field":[{"name":"subchannel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Subchannel","jsonName":"subchannel"}]},{"name":"GetSocketRequest","field":[{"name":"socket_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"summary","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"summary"}]},{"name":"GetSocketResponse","field":[{"name":"socket","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Socket","jsonName":"socket"}]}],"service":[{"name":"Channelz","method":[{"name":"GetTopChannels","inputType":".grpc.channelz.v1.GetTopChannelsRequest","outputType":".grpc.channelz.v1.GetTopChannelsResponse"},{"name":"GetServers","inputType":".grpc.channelz.v1.GetServersRequest","outputType":".grpc.channelz.v1.GetServersResponse"},{"name":"GetServer","inputType":".grpc.channelz.v1.GetServerRequest","outputType":".grpc.channelz.v1.GetServerResponse"},{"name":"GetServerSockets","inputType":".grpc.channelz.v1.GetServerSocketsRequest","outputType":".grpc.channelz.v1.GetServerSocketsResponse"},{"name":"GetChannel","inputType":".grpc.channelz.v1.GetChannelRequest","outputType":".grpc.channelz.v1.GetChannelResponse"},{"name":"GetSubchannel","inputType":".grpc.channelz.v1.GetSubchannelRequest","outputType":".grpc.channelz.v1.GetSubchannelResponse"},{"name":"GetSocket","inputType":".grpc.channelz.v1.GetSocketRequest","outputType":".grpc.channelz.v1.GetSocketResponse"}]}],"options":{"javaPackage":"io.grpc.channelz.v1","javaOuterClassname":"ChannelzProto","javaMultipleFiles":true,"goPackage":"google.golang.org/grpc/channelz/grpc_channelz_v1"},"sourceCodeInfo":{"location":[{"span":[21,0,563,1]},{"path":[12],"span":[21,0,18],"leadingDetachedComments":[" Copyright 2018 The gRPC Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"," This file defines an interface for exporting monitoring information\n out of gRPC servers. See the full design at\n https://github.com/grpc/proposal/blob/master/A14-channelz.md\n\n The canonical version of this proto can be found at\n https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto\n"]},{"path":[2],"span":[23,0,25]},{"path":[3,0],"span":[25,0,35]},{"path":[3,1],"span":[26,0,40]},{"path":[3,2],"span":[27,0,41]},{"path":[3,3],"span":[28,0,40]},{"path":[8],"span":[30,0,71]},{"path":[8,11],"span":[30,0,71]},{"path":[8],"span":[31,0,34]},{"path":[8,10],"span":[31,0,34]},{"path":[8],"span":[32,0,44]},{"path":[8,1],"span":[32,0,44]},{"path":[8],"span":[33,0,46]},{"path":[8,8],"span":[33,0,46]},{"path":[4,0],"span":[36,0,56,1],"leadingComments":" Channel is a logical grouping of channels, subchannels, and sockets.\n"},{"path":[4,0,1],"span":[36,8,15]},{"path":[4,0,2,0],"span":[38,2,21],"leadingComments":" The identifier for this channel. This should bet set.\n"},{"path":[4,0,2,0,6],"span":[38,2,12]},{"path":[4,0,2,0,1],"span":[38,13,16]},{"path":[4,0,2,0,3],"span":[38,19,20]},{"path":[4,0,2,1],"span":[40,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,0,2,1,6],"span":[40,2,13]},{"path":[4,0,2,1,1],"span":[40,14,18]},{"path":[4,0,2,1,3],"span":[40,21,22]},{"path":[4,0,2,2],"span":[46,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,2,4],"span":[46,2,10]},{"path":[4,0,2,2,6],"span":[46,11,21]},{"path":[4,0,2,2,1],"span":[46,22,33]},{"path":[4,0,2,2,3],"span":[46,36,37]},{"path":[4,0,2,3],"span":[52,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,3,4],"span":[52,2,10]},{"path":[4,0,2,3,6],"span":[52,11,24]},{"path":[4,0,2,3,1],"span":[52,25,39]},{"path":[4,0,2,3,3],"span":[52,42,43]},{"path":[4,0,2,4],"span":[55,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,0,2,4,4],"span":[55,2,10]},{"path":[4,0,2,4,6],"span":[55,11,20]},{"path":[4,0,2,4,1],"span":[55,21,31]},{"path":[4,0,2,4,3],"span":[55,34,35]},{"path":[4,1],"span":[60,0,80,1],"leadingComments":" Subchannel is a logical grouping of channels, subchannels, and sockets.\n A subchannel is load balanced over by it's ancestor\n"},{"path":[4,1,1],"span":[60,8,18]},{"path":[4,1,2,0],"span":[62,2,24],"leadingComments":" The identifier for this channel.\n"},{"path":[4,1,2,0,6],"span":[62,2,15]},{"path":[4,1,2,0,1],"span":[62,16,19]},{"path":[4,1,2,0,3],"span":[62,22,23]},{"path":[4,1,2,1],"span":[64,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,1,2,1,6],"span":[64,2,13]},{"path":[4,1,2,1,1],"span":[64,14,18]},{"path":[4,1,2,1,3],"span":[64,21,22]},{"path":[4,1,2,2],"span":[70,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,2,4],"span":[70,2,10]},{"path":[4,1,2,2,6],"span":[70,11,21]},{"path":[4,1,2,2,1],"span":[70,22,33]},{"path":[4,1,2,2,3],"span":[70,36,37]},{"path":[4,1,2,3],"span":[76,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,3,4],"span":[76,2,10]},{"path":[4,1,2,3,6],"span":[76,11,24]},{"path":[4,1,2,3,1],"span":[76,25,39]},{"path":[4,1,2,3,3],"span":[76,42,43]},{"path":[4,1,2,4],"span":[79,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,1,2,4,4],"span":[79,2,10]},{"path":[4,1,2,4,6],"span":[79,11,20]},{"path":[4,1,2,4,1],"span":[79,21,31]},{"path":[4,1,2,4,3],"span":[79,34,35]},{"path":[4,2],"span":[84,0,94,1],"leadingComments":" These come from the specified states in this document:\n https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md\n"},{"path":[4,2,1],"span":[84,8,32]},{"path":[4,2,4,0],"span":[85,2,92,3]},{"path":[4,2,4,0,1],"span":[85,7,12]},{"path":[4,2,4,0,2,0],"span":[86,4,16]},{"path":[4,2,4,0,2,0,1],"span":[86,4,11]},{"path":[4,2,4,0,2,0,2],"span":[86,14,15]},{"path":[4,2,4,0,2,1],"span":[87,4,13]},{"path":[4,2,4,0,2,1,1],"span":[87,4,8]},{"path":[4,2,4,0,2,1,2],"span":[87,11,12]},{"path":[4,2,4,0,2,2],"span":[88,4,19]},{"path":[4,2,4,0,2,2,1],"span":[88,4,14]},{"path":[4,2,4,0,2,2,2],"span":[88,17,18]},{"path":[4,2,4,0,2,3],"span":[89,4,14]},{"path":[4,2,4,0,2,3,1],"span":[89,4,9]},{"path":[4,2,4,0,2,3,2],"span":[89,12,13]},{"path":[4,2,4,0,2,4],"span":[90,4,26]},{"path":[4,2,4,0,2,4,1],"span":[90,4,21]},{"path":[4,2,4,0,2,4,2],"span":[90,24,25]},{"path":[4,2,4,0,2,5],"span":[91,4,17]},{"path":[4,2,4,0,2,5,1],"span":[91,4,12]},{"path":[4,2,4,0,2,5,2],"span":[91,15,16]},{"path":[4,2,2,0],"span":[93,2,18]},{"path":[4,2,2,0,6],"span":[93,2,7]},{"path":[4,2,2,0,1],"span":[93,8,13]},{"path":[4,2,2,0,3],"span":[93,16,17]},{"path":[4,3],"span":[97,0,117,1],"leadingComments":" Channel data is data related to a specific Channel or Subchannel.\n"},{"path":[4,3,1],"span":[97,8,19]},{"path":[4,3,2,0],"span":[100,2,37],"leadingComments":" The connectivity state of the channel or subchannel. Implementations\n should always set this.\n"},{"path":[4,3,2,0,6],"span":[100,2,26]},{"path":[4,3,2,0,1],"span":[100,27,32]},{"path":[4,3,2,0,3],"span":[100,35,36]},{"path":[4,3,2,1],"span":[103,2,20],"leadingComments":" The target this channel originally tried to connect to. May be absent\n"},{"path":[4,3,2,1,5],"span":[103,2,8]},{"path":[4,3,2,1,1],"span":[103,9,15]},{"path":[4,3,2,1,3],"span":[103,18,19]},{"path":[4,3,2,2],"span":[106,2,25],"leadingComments":" A trace of recent events on the channel. May be absent.\n"},{"path":[4,3,2,2,6],"span":[106,2,14]},{"path":[4,3,2,2,1],"span":[106,15,20]},{"path":[4,3,2,2,3],"span":[106,23,24]},{"path":[4,3,2,3],"span":[109,2,26],"leadingComments":" The number of calls started on the channel\n"},{"path":[4,3,2,3,5],"span":[109,2,7]},{"path":[4,3,2,3,1],"span":[109,8,21]},{"path":[4,3,2,3,3],"span":[109,24,25]},{"path":[4,3,2,4],"span":[111,2,28],"leadingComments":" The number of calls that have completed with an OK status\n"},{"path":[4,3,2,4,5],"span":[111,2,7]},{"path":[4,3,2,4,1],"span":[111,8,23]},{"path":[4,3,2,4,3],"span":[111,26,27]},{"path":[4,3,2,5],"span":[113,2,25],"leadingComments":" The number of calls that have completed with a non-OK status\n"},{"path":[4,3,2,5,5],"span":[113,2,7]},{"path":[4,3,2,5,1],"span":[113,8,20]},{"path":[4,3,2,5,3],"span":[113,23,24]},{"path":[4,3,2,6],"span":[116,2,60],"leadingComments":" The last time a call was started on the channel.\n"},{"path":[4,3,2,6,6],"span":[116,2,27]},{"path":[4,3,2,6,1],"span":[116,28,55]},{"path":[4,3,2,6,3],"span":[116,58,59]},{"path":[4,4],"span":[121,0,143,1],"leadingComments":" A trace event is an interesting thing that happened to a channel or\n subchannel, such as creation, address resolution, subchannel creation, etc.\n"},{"path":[4,4,1],"span":[121,8,25]},{"path":[4,4,2,0],"span":[123,2,25],"leadingComments":" High level description of the event.\n"},{"path":[4,4,2,0,5],"span":[123,2,8]},{"path":[4,4,2,0,1],"span":[123,9,20]},{"path":[4,4,2,0,3],"span":[123,23,24]},{"path":[4,4,4,0],"span":[125,2,130,3],"leadingComments":" The supported severity levels of trace events.\n"},{"path":[4,4,4,0,1],"span":[125,7,15]},{"path":[4,4,4,0,2,0],"span":[126,4,19]},{"path":[4,4,4,0,2,0,1],"span":[126,4,14]},{"path":[4,4,4,0,2,0,2],"span":[126,17,18]},{"path":[4,4,4,0,2,1],"span":[127,4,16]},{"path":[4,4,4,0,2,1,1],"span":[127,4,11]},{"path":[4,4,4,0,2,1,2],"span":[127,14,15]},{"path":[4,4,4,0,2,2],"span":[128,4,19]},{"path":[4,4,4,0,2,2,1],"span":[128,4,14]},{"path":[4,4,4,0,2,2,2],"span":[128,17,18]},{"path":[4,4,4,0,2,3],"span":[129,4,17]},{"path":[4,4,4,0,2,3,1],"span":[129,4,12]},{"path":[4,4,4,0,2,3,2],"span":[129,15,16]},{"path":[4,4,2,1],"span":[132,2,24],"leadingComments":" the severity of the trace event\n"},{"path":[4,4,2,1,6],"span":[132,2,10]},{"path":[4,4,2,1,1],"span":[132,11,19]},{"path":[4,4,2,1,3],"span":[132,22,23]},{"path":[4,4,2,2],"span":[134,2,42],"leadingComments":" When this event occurred.\n"},{"path":[4,4,2,2,6],"span":[134,2,27]},{"path":[4,4,2,2,1],"span":[134,28,37]},{"path":[4,4,2,2,3],"span":[134,40,41]},{"path":[4,4,8,0],"span":[139,2,142,3],"leadingComments":" ref of referenced channel or subchannel.\n Optional, only present if this event refers to a child object. For example,\n this field would be filled if this trace event was for a subchannel being\n created.\n"},{"path":[4,4,8,0,1],"span":[139,8,17]},{"path":[4,4,2,3],"span":[140,4,31]},{"path":[4,4,2,3,6],"span":[140,4,14]},{"path":[4,4,2,3,1],"span":[140,15,26]},{"path":[4,4,2,3,3],"span":[140,29,30]},{"path":[4,4,2,4],"span":[141,4,37]},{"path":[4,4,2,4,6],"span":[141,4,17]},{"path":[4,4,2,4,1],"span":[141,18,32]},{"path":[4,4,2,4,3],"span":[141,35,36]},{"path":[4,5],"span":[146,0,155,1],"leadingComments":" ChannelTrace represents the recent events that have occurred on the channel.\n"},{"path":[4,5,1],"span":[146,8,20]},{"path":[4,5,2,0],"span":[150,2,30],"leadingComments":" Number of events ever logged in this tracing object. This can differ from\n events.size() because events can be overwritten or garbage collected by\n implementations.\n"},{"path":[4,5,2,0,5],"span":[150,2,7]},{"path":[4,5,2,0,1],"span":[150,8,25]},{"path":[4,5,2,0,3],"span":[150,28,29]},{"path":[4,5,2,1],"span":[152,2,51],"leadingComments":" Time that this channel was created.\n"},{"path":[4,5,2,1,6],"span":[152,2,27]},{"path":[4,5,2,1,1],"span":[152,28,46]},{"path":[4,5,2,1,3],"span":[152,49,50]},{"path":[4,5,2,2],"span":[154,2,40],"leadingComments":" List of events that have occurred on this channel.\n"},{"path":[4,5,2,2,4],"span":[154,2,10]},{"path":[4,5,2,2,6],"span":[154,11,28]},{"path":[4,5,2,2,1],"span":[154,29,35]},{"path":[4,5,2,2,3],"span":[154,38,39]},{"path":[4,6],"span":[158,0,165,1],"leadingComments":" ChannelRef is a reference to a Channel.\n"},{"path":[4,6,1],"span":[158,8,18]},{"path":[4,6,2,0],"span":[160,2,23],"leadingComments":" The globally unique id for this channel. Must be a positive number.\n"},{"path":[4,6,2,0,5],"span":[160,2,7]},{"path":[4,6,2,0,1],"span":[160,8,18]},{"path":[4,6,2,0,3],"span":[160,21,22]},{"path":[4,6,2,1],"span":[162,2,18],"leadingComments":" An optional name associated with the channel.\n"},{"path":[4,6,2,1,5],"span":[162,2,8]},{"path":[4,6,2,1,1],"span":[162,9,13]},{"path":[4,6,2,1,3],"span":[162,16,17]},{"path":[4,6,9],"span":[164,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,6,9,0],"span":[164,11,12]},{"path":[4,6,9,0,1],"span":[164,11,12]},{"path":[4,6,9,1],"span":[164,14,15]},{"path":[4,6,9,1,1],"span":[164,14,15]},{"path":[4,6,9,2],"span":[164,17,18]},{"path":[4,6,9,2,1],"span":[164,17,18]},{"path":[4,6,9,3],"span":[164,20,21]},{"path":[4,6,9,3,1],"span":[164,20,21]},{"path":[4,6,9,4],"span":[164,23,24]},{"path":[4,6,9,4,1],"span":[164,23,24]},{"path":[4,6,9,5],"span":[164,26,27]},{"path":[4,6,9,5,1],"span":[164,26,27]},{"path":[4,7],"span":[168,0,175,1],"leadingComments":" SubchannelRef is a reference to a Subchannel.\n"},{"path":[4,7,1],"span":[168,8,21]},{"path":[4,7,2,0],"span":[170,2,26],"leadingComments":" The globally unique id for this subchannel. Must be a positive number.\n"},{"path":[4,7,2,0,5],"span":[170,2,7]},{"path":[4,7,2,0,1],"span":[170,8,21]},{"path":[4,7,2,0,3],"span":[170,24,25]},{"path":[4,7,2,1],"span":[172,2,18],"leadingComments":" An optional name associated with the subchannel.\n"},{"path":[4,7,2,1,5],"span":[172,2,8]},{"path":[4,7,2,1,1],"span":[172,9,13]},{"path":[4,7,2,1,3],"span":[172,16,17]},{"path":[4,7,9],"span":[174,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,7,9,0],"span":[174,11,12]},{"path":[4,7,9,0,1],"span":[174,11,12]},{"path":[4,7,9,1],"span":[174,14,15]},{"path":[4,7,9,1,1],"span":[174,14,15]},{"path":[4,7,9,2],"span":[174,17,18]},{"path":[4,7,9,2,1],"span":[174,17,18]},{"path":[4,7,9,3],"span":[174,20,21]},{"path":[4,7,9,3,1],"span":[174,20,21]},{"path":[4,7,9,4],"span":[174,23,24]},{"path":[4,7,9,4,1],"span":[174,23,24]},{"path":[4,7,9,5],"span":[174,26,27]},{"path":[4,7,9,5,1],"span":[174,26,27]},{"path":[4,8],"span":[178,0,185,1],"leadingComments":" SocketRef is a reference to a Socket.\n"},{"path":[4,8,1],"span":[178,8,17]},{"path":[4,8,2,0],"span":[180,2,22],"leadingComments":" The globally unique id for this socket. Must be a positive number.\n"},{"path":[4,8,2,0,5],"span":[180,2,7]},{"path":[4,8,2,0,1],"span":[180,8,17]},{"path":[4,8,2,0,3],"span":[180,20,21]},{"path":[4,8,2,1],"span":[182,2,18],"leadingComments":" An optional name associated with the socket.\n"},{"path":[4,8,2,1,5],"span":[182,2,8]},{"path":[4,8,2,1,1],"span":[182,9,13]},{"path":[4,8,2,1,3],"span":[182,16,17]},{"path":[4,8,9],"span":[184,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,8,9,0],"span":[184,11,12]},{"path":[4,8,9,0,1],"span":[184,11,12]},{"path":[4,8,9,1],"span":[184,14,15]},{"path":[4,8,9,1,1],"span":[184,14,15]},{"path":[4,8,9,2],"span":[184,17,18]},{"path":[4,8,9,2,1],"span":[184,17,18]},{"path":[4,8,9,3],"span":[184,20,21]},{"path":[4,8,9,3,1],"span":[184,20,21]},{"path":[4,8,9,4],"span":[184,23,24]},{"path":[4,8,9,4,1],"span":[184,23,24]},{"path":[4,8,9,5],"span":[184,26,27]},{"path":[4,8,9,5,1],"span":[184,26,27]},{"path":[4,9],"span":[188,0,195,1],"leadingComments":" ServerRef is a reference to a Server.\n"},{"path":[4,9,1],"span":[188,8,17]},{"path":[4,9,2,0],"span":[190,2,22],"leadingComments":" A globally unique identifier for this server. Must be a positive number.\n"},{"path":[4,9,2,0,5],"span":[190,2,7]},{"path":[4,9,2,0,1],"span":[190,8,17]},{"path":[4,9,2,0,3],"span":[190,20,21]},{"path":[4,9,2,1],"span":[192,2,18],"leadingComments":" An optional name associated with the server.\n"},{"path":[4,9,2,1,5],"span":[192,2,8]},{"path":[4,9,2,1,1],"span":[192,9,13]},{"path":[4,9,2,1,3],"span":[192,16,17]},{"path":[4,9,9],"span":[194,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,9,9,0],"span":[194,11,12]},{"path":[4,9,9,0,1],"span":[194,11,12]},{"path":[4,9,9,1],"span":[194,14,15]},{"path":[4,9,9,1,1],"span":[194,14,15]},{"path":[4,9,9,2],"span":[194,17,18]},{"path":[4,9,9,2,1],"span":[194,17,18]},{"path":[4,9,9,3],"span":[194,20,21]},{"path":[4,9,9,3,1],"span":[194,20,21]},{"path":[4,9,9,4],"span":[194,23,24]},{"path":[4,9,9,4,1],"span":[194,23,24]},{"path":[4,9,9,5],"span":[194,26,27]},{"path":[4,9,9,5,1],"span":[194,26,27]},{"path":[4,10],"span":[199,0,208,1],"leadingComments":" Server represents a single server. There may be multiple servers in a single\n program.\n"},{"path":[4,10,1],"span":[199,8,14]},{"path":[4,10,2,0],"span":[201,2,20],"leadingComments":" The identifier for a Server. This should be set.\n"},{"path":[4,10,2,0,6],"span":[201,2,11]},{"path":[4,10,2,0,1],"span":[201,12,15]},{"path":[4,10,2,0,3],"span":[201,18,19]},{"path":[4,10,2,1],"span":[203,2,22],"leadingComments":" The associated data of the Server.\n"},{"path":[4,10,2,1,6],"span":[203,2,12]},{"path":[4,10,2,1,1],"span":[203,13,17]},{"path":[4,10,2,1,3],"span":[203,20,21]},{"path":[4,10,2,2],"span":[207,2,39],"leadingComments":" The sockets that the server is listening on. There are no ordering\n guarantees. This may be absent.\n"},{"path":[4,10,2,2,4],"span":[207,2,10]},{"path":[4,10,2,2,6],"span":[207,11,20]},{"path":[4,10,2,2,1],"span":[207,21,34]},{"path":[4,10,2,2,3],"span":[207,37,38]},{"path":[4,11],"span":[211,0,224,1],"leadingComments":" ServerData is data for a specific Server.\n"},{"path":[4,11,1],"span":[211,8,18]},{"path":[4,11,2,0],"span":[213,2,25],"leadingComments":" A trace of recent events on the server. May be absent.\n"},{"path":[4,11,2,0,6],"span":[213,2,14]},{"path":[4,11,2,0,1],"span":[213,15,20]},{"path":[4,11,2,0,3],"span":[213,23,24]},{"path":[4,11,2,1],"span":[216,2,26],"leadingComments":" The number of incoming calls started on the server\n"},{"path":[4,11,2,1,5],"span":[216,2,7]},{"path":[4,11,2,1,1],"span":[216,8,21]},{"path":[4,11,2,1,3],"span":[216,24,25]},{"path":[4,11,2,2],"span":[218,2,28],"leadingComments":" The number of incoming calls that have completed with an OK status\n"},{"path":[4,11,2,2,5],"span":[218,2,7]},{"path":[4,11,2,2,1],"span":[218,8,23]},{"path":[4,11,2,2,3],"span":[218,26,27]},{"path":[4,11,2,3],"span":[220,2,25],"leadingComments":" The number of incoming calls that have a completed with a non-OK status\n"},{"path":[4,11,2,3,5],"span":[220,2,7]},{"path":[4,11,2,3,1],"span":[220,8,20]},{"path":[4,11,2,3,3],"span":[220,23,24]},{"path":[4,11,2,4],"span":[223,2,60],"leadingComments":" The last time a call was started on the server.\n"},{"path":[4,11,2,4,6],"span":[223,2,27]},{"path":[4,11,2,4,1],"span":[223,28,55]},{"path":[4,11,2,4,3],"span":[223,58,59]},{"path":[4,12],"span":[227,0,244,1],"leadingComments":" Information about an actual connection. Pronounced \"sock-ay\".\n"},{"path":[4,12,1],"span":[227,8,14]},{"path":[4,12,2,0],"span":[229,2,20],"leadingComments":" The identifier for the Socket.\n"},{"path":[4,12,2,0,6],"span":[229,2,11]},{"path":[4,12,2,0,1],"span":[229,12,15]},{"path":[4,12,2,0,3],"span":[229,18,19]},{"path":[4,12,2,1],"span":[232,2,22],"leadingComments":" Data specific to this Socket.\n"},{"path":[4,12,2,1,6],"span":[232,2,12]},{"path":[4,12,2,1,1],"span":[232,13,17]},{"path":[4,12,2,1,3],"span":[232,20,21]},{"path":[4,12,2,2],"span":[234,2,20],"leadingComments":" The locally bound address.\n"},{"path":[4,12,2,2,6],"span":[234,2,9]},{"path":[4,12,2,2,1],"span":[234,10,15]},{"path":[4,12,2,2,3],"span":[234,18,19]},{"path":[4,12,2,3],"span":[236,2,21],"leadingComments":" The remote bound address. May be absent.\n"},{"path":[4,12,2,3,6],"span":[236,2,9]},{"path":[4,12,2,3,1],"span":[236,10,16]},{"path":[4,12,2,3,3],"span":[236,19,20]},{"path":[4,12,2,4],"span":[239,2,24],"leadingComments":" Security details for this socket. May be absent if not available, or\n there is no security on the socket.\n"},{"path":[4,12,2,4,6],"span":[239,2,10]},{"path":[4,12,2,4,1],"span":[239,11,19]},{"path":[4,12,2,4,3],"span":[239,22,23]},{"path":[4,12,2,5],"span":[243,2,25],"leadingComments":" Optional, represents the name of the remote endpoint, if different than\n the original target name.\n"},{"path":[4,12,2,5,5],"span":[243,2,8]},{"path":[4,12,2,5,1],"span":[243,9,20]},{"path":[4,12,2,5,3],"span":[243,23,24]},{"path":[4,13],"span":[249,0,294,1],"leadingComments":" SocketData is data associated for a specific Socket. The fields present\n are specific to the implementation, so there may be minor differences in\n the semantics. (e.g. flow control windows)\n"},{"path":[4,13,1],"span":[249,8,18]},{"path":[4,13,2,0],"span":[251,2,28],"leadingComments":" The number of streams that have been started.\n"},{"path":[4,13,2,0,5],"span":[251,2,7]},{"path":[4,13,2,0,1],"span":[251,8,23]},{"path":[4,13,2,0,3],"span":[251,26,27]},{"path":[4,13,2,1],"span":[255,2,30],"leadingComments":" The number of streams that have ended successfully:\n On client side, received frame with eos bit set;\n On server side, sent frame with eos bit set.\n"},{"path":[4,13,2,1,5],"span":[255,2,7]},{"path":[4,13,2,1,1],"span":[255,8,25]},{"path":[4,13,2,1,3],"span":[255,28,29]},{"path":[4,13,2,2],"span":[259,2,27],"leadingComments":" The number of streams that have ended unsuccessfully:\n On client side, ended without receiving frame with eos bit set;\n On server side, ended without sending frame with eos bit set.\n"},{"path":[4,13,2,2,5],"span":[259,2,7]},{"path":[4,13,2,2,1],"span":[259,8,22]},{"path":[4,13,2,2,3],"span":[259,25,26]},{"path":[4,13,2,3],"span":[261,2,26],"leadingComments":" The number of grpc messages successfully sent on this socket.\n"},{"path":[4,13,2,3,5],"span":[261,2,7]},{"path":[4,13,2,3,1],"span":[261,8,21]},{"path":[4,13,2,3,3],"span":[261,24,25]},{"path":[4,13,2,4],"span":[263,2,30],"leadingComments":" The number of grpc messages received on this socket.\n"},{"path":[4,13,2,4,5],"span":[263,2,7]},{"path":[4,13,2,4,1],"span":[263,8,25]},{"path":[4,13,2,4,3],"span":[263,28,29]},{"path":[4,13,2,5],"span":[267,2,29],"leadingComments":" The number of keep alives sent. This is typically implemented with HTTP/2\n ping messages.\n"},{"path":[4,13,2,5,5],"span":[267,2,7]},{"path":[4,13,2,5,1],"span":[267,8,24]},{"path":[4,13,2,5,3],"span":[267,27,28]},{"path":[4,13,2,6],"span":[271,2,68],"leadingComments":" The last time a stream was created by this endpoint. Usually unset for\n servers.\n"},{"path":[4,13,2,6,6],"span":[271,2,27]},{"path":[4,13,2,6,1],"span":[271,28,63]},{"path":[4,13,2,6,3],"span":[271,66,67]},{"path":[4,13,2,7],"span":[274,2,69],"leadingComments":" The last time a stream was created by the remote endpoint. Usually unset\n for clients.\n"},{"path":[4,13,2,7,6],"span":[274,2,27]},{"path":[4,13,2,7,1],"span":[274,28,64]},{"path":[4,13,2,7,3],"span":[274,67,68]},{"path":[4,13,2,8],"span":[277,2,60],"leadingComments":" The last time a message was sent by this endpoint.\n"},{"path":[4,13,2,8,6],"span":[277,2,27]},{"path":[4,13,2,8,1],"span":[277,28,55]},{"path":[4,13,2,8,3],"span":[277,58,59]},{"path":[4,13,2,9],"span":[279,2,65],"leadingComments":" The last time a message was received by this endpoint.\n"},{"path":[4,13,2,9,6],"span":[279,2,27]},{"path":[4,13,2,9,1],"span":[279,28,59]},{"path":[4,13,2,9,3],"span":[279,62,64]},{"path":[4,13,2,10],"span":[284,2,60],"leadingComments":" The amount of window, granted to the local endpoint by the remote endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,10,6],"span":[284,2,28]},{"path":[4,13,2,10,1],"span":[284,29,54]},{"path":[4,13,2,10,3],"span":[284,57,59]},{"path":[4,13,2,11],"span":[289,2,62],"leadingComments":" The amount of window, granted to the remote endpoint by the local endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,11,6],"span":[289,2,28]},{"path":[4,13,2,11,1],"span":[289,30,56]},{"path":[4,13,2,11,3],"span":[289,59,61]},{"path":[4,13,2,12],"span":[293,2,36],"leadingComments":" Socket options set on this socket. May be absent if 'summary' is set\n on GetSocketRequest.\n"},{"path":[4,13,2,12,4],"span":[293,2,10]},{"path":[4,13,2,12,6],"span":[293,11,23]},{"path":[4,13,2,12,1],"span":[293,24,30]},{"path":[4,13,2,12,3],"span":[293,33,35]},{"path":[4,14],"span":[297,0,322,1],"leadingComments":" Address represents the address used to create the socket.\n"},{"path":[4,14,1],"span":[297,8,15]},{"path":[4,14,3,0],"span":[298,2,304,3]},{"path":[4,14,3,0,1],"span":[298,10,22]},{"path":[4,14,3,0,2,0],"span":[301,4,25],"leadingComments":" Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16\n bytes in length.\n"},{"path":[4,14,3,0,2,0,5],"span":[301,4,9]},{"path":[4,14,3,0,2,0,1],"span":[301,10,20]},{"path":[4,14,3,0,2,0,3],"span":[301,23,24]},{"path":[4,14,3,0,2,1],"span":[303,4,19],"leadingComments":" 0-64k, or -1 if not appropriate.\n"},{"path":[4,14,3,0,2,1,5],"span":[303,4,9]},{"path":[4,14,3,0,2,1,1],"span":[303,10,14]},{"path":[4,14,3,0,2,1,3],"span":[303,17,18]},{"path":[4,14,3,1],"span":[306,2,308,3],"leadingComments":" A Unix Domain Socket address.\n"},{"path":[4,14,3,1,1],"span":[306,10,20]},{"path":[4,14,3,1,2,0],"span":[307,4,24]},{"path":[4,14,3,1,2,0,5],"span":[307,4,10]},{"path":[4,14,3,1,2,0,1],"span":[307,11,19]},{"path":[4,14,3,1,2,0,3],"span":[307,22,23]},{"path":[4,14,3,2],"span":[310,2,315,3],"leadingComments":" An address type not included above.\n"},{"path":[4,14,3,2,1],"span":[310,10,22]},{"path":[4,14,3,2,2,0],"span":[312,4,20],"leadingComments":" The human readable version of the value. This value should be set.\n"},{"path":[4,14,3,2,2,0,5],"span":[312,4,10]},{"path":[4,14,3,2,2,0,1],"span":[312,11,15]},{"path":[4,14,3,2,2,0,3],"span":[312,18,19]},{"path":[4,14,3,2,2,1],"span":[314,4,34],"leadingComments":" The actual address message.\n"},{"path":[4,14,3,2,2,1,6],"span":[314,4,23]},{"path":[4,14,3,2,2,1,1],"span":[314,24,29]},{"path":[4,14,3,2,2,1,3],"span":[314,32,33]},{"path":[4,14,8,0],"span":[317,2,321,3]},{"path":[4,14,8,0,1],"span":[317,8,15]},{"path":[4,14,2,0],"span":[318,4,35]},{"path":[4,14,2,0,6],"span":[318,4,16]},{"path":[4,14,2,0,1],"span":[318,17,30]},{"path":[4,14,2,0,3],"span":[318,33,34]},{"path":[4,14,2,1],"span":[319,4,31]},{"path":[4,14,2,1,6],"span":[319,4,14]},{"path":[4,14,2,1,1],"span":[319,15,26]},{"path":[4,14,2,1,3],"span":[319,29,30]},{"path":[4,14,2,2],"span":[320,4,35]},{"path":[4,14,2,2,6],"span":[320,4,16]},{"path":[4,14,2,2,1],"span":[320,17,30]},{"path":[4,14,2,2,3],"span":[320,33,34]},{"path":[4,15],"span":[325,0,350,1],"leadingComments":" Security represents details about how secure the socket is.\n"},{"path":[4,15,1],"span":[325,8,16]},{"path":[4,15,3,0],"span":[326,2,339,3]},{"path":[4,15,3,0,1],"span":[326,10,13]},{"path":[4,15,3,0,8,0],"span":[327,4,334,5]},{"path":[4,15,3,0,8,0,1],"span":[327,10,22]},{"path":[4,15,3,0,2,0],"span":[330,6,31],"leadingComments":" The cipher suite name in the RFC 4346 format:\n https://tools.ietf.org/html/rfc4346#appendix-C\n"},{"path":[4,15,3,0,2,0,5],"span":[330,6,12]},{"path":[4,15,3,0,2,0,1],"span":[330,13,26]},{"path":[4,15,3,0,2,0,3],"span":[330,29,30]},{"path":[4,15,3,0,2,1],"span":[333,6,28],"leadingComments":" Some other way to describe the cipher suite if\n the RFC 4346 name is not available.\n"},{"path":[4,15,3,0,2,1,5],"span":[333,6,12]},{"path":[4,15,3,0,2,1,1],"span":[333,13,23]},{"path":[4,15,3,0,2,1,3],"span":[333,26,27]},{"path":[4,15,3,0,2,2],"span":[336,4,32],"leadingComments":" the certificate used by this endpoint.\n"},{"path":[4,15,3,0,2,2,5],"span":[336,4,9]},{"path":[4,15,3,0,2,2,1],"span":[336,10,27]},{"path":[4,15,3,0,2,2,3],"span":[336,30,31]},{"path":[4,15,3,0,2,3],"span":[338,4,33],"leadingComments":" the certificate used by the remote endpoint.\n"},{"path":[4,15,3,0,2,3,5],"span":[338,4,9]},{"path":[4,15,3,0,2,3,1],"span":[338,10,28]},{"path":[4,15,3,0,2,3,3],"span":[338,31,32]},{"path":[4,15,3,1],"span":[340,2,345,3]},{"path":[4,15,3,1,1],"span":[340,10,23]},{"path":[4,15,3,1,2,0],"span":[342,4,20],"leadingComments":" The human readable version of the value.\n"},{"path":[4,15,3,1,2,0,5],"span":[342,4,10]},{"path":[4,15,3,1,2,0,1],"span":[342,11,15]},{"path":[4,15,3,1,2,0,3],"span":[342,18,19]},{"path":[4,15,3,1,2,1],"span":[344,4,34],"leadingComments":" The actual security details message.\n"},{"path":[4,15,3,1,2,1,6],"span":[344,4,23]},{"path":[4,15,3,1,2,1,1],"span":[344,24,29]},{"path":[4,15,3,1,2,1,3],"span":[344,32,33]},{"path":[4,15,8,0],"span":[346,2,349,3]},{"path":[4,15,8,0,1],"span":[346,8,13]},{"path":[4,15,2,0],"span":[347,4,16]},{"path":[4,15,2,0,6],"span":[347,4,7]},{"path":[4,15,2,0,1],"span":[347,8,11]},{"path":[4,15,2,0,3],"span":[347,14,15]},{"path":[4,15,2,1],"span":[348,4,28]},{"path":[4,15,2,1,6],"span":[348,4,17]},{"path":[4,15,2,1,1],"span":[348,18,23]},{"path":[4,15,2,1,3],"span":[348,26,27]},{"path":[4,16],"span":[354,0,364,1],"leadingComments":" SocketOption represents socket options for a socket. Specifically, these\n are the options returned by getsockopt().\n"},{"path":[4,16,1],"span":[354,8,20]},{"path":[4,16,2,0],"span":[357,2,18],"leadingComments":" The full name of the socket option. Typically this will be the upper case\n name, such as \"SO_REUSEPORT\".\n"},{"path":[4,16,2,0,5],"span":[357,2,8]},{"path":[4,16,2,0,1],"span":[357,9,13]},{"path":[4,16,2,0,3],"span":[357,16,17]},{"path":[4,16,2,1],"span":[360,2,19],"leadingComments":" The human readable value of this socket option. At least one of value or\n additional will be set.\n"},{"path":[4,16,2,1,5],"span":[360,2,8]},{"path":[4,16,2,1,1],"span":[360,9,14]},{"path":[4,16,2,1,3],"span":[360,17,18]},{"path":[4,16,2,2],"span":[363,2,37],"leadingComments":" Additional data associated with the socket option. At least one of value\n or additional will be set.\n"},{"path":[4,16,2,2,6],"span":[363,2,21]},{"path":[4,16,2,2,1],"span":[363,22,32]},{"path":[4,16,2,2,3],"span":[363,35,36]},{"path":[4,17],"span":[368,0,370,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_RCVTIMEO and SO_SNDTIMEO\n"},{"path":[4,17,1],"span":[368,8,27]},{"path":[4,17,2,0],"span":[369,2,40]},{"path":[4,17,2,0,6],"span":[369,2,26]},{"path":[4,17,2,0,1],"span":[369,27,35]},{"path":[4,17,2,0,3],"span":[369,38,39]},{"path":[4,18],"span":[374,0,379,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_LINGER.\n"},{"path":[4,18,1],"span":[374,8,26]},{"path":[4,18,2,0],"span":[376,2,18],"leadingComments":" active maps to `struct linger.l_onoff`\n"},{"path":[4,18,2,0,5],"span":[376,2,6]},{"path":[4,18,2,0,1],"span":[376,7,13]},{"path":[4,18,2,0,3],"span":[376,16,17]},{"path":[4,18,2,1],"span":[378,2,40],"leadingComments":" duration maps to `struct linger.l_linger`\n"},{"path":[4,18,2,1,6],"span":[378,2,26]},{"path":[4,18,2,1,1],"span":[378,27,35]},{"path":[4,18,2,1,3],"span":[378,38,39]},{"path":[4,19],"span":[383,0,418,1],"leadingComments":" For use with SocketOption's additional field. Tcp info for\n SOL_TCP and TCP_INFO.\n"},{"path":[4,19,1],"span":[383,8,27]},{"path":[4,19,2,0],"span":[384,2,24]},{"path":[4,19,2,0,5],"span":[384,2,8]},{"path":[4,19,2,0,1],"span":[384,9,19]},{"path":[4,19,2,0,3],"span":[384,22,23]},{"path":[4,19,2,1],"span":[386,2,27]},{"path":[4,19,2,1,5],"span":[386,2,8]},{"path":[4,19,2,1,1],"span":[386,9,22]},{"path":[4,19,2,1,3],"span":[386,25,26]},{"path":[4,19,2,2],"span":[387,2,30]},{"path":[4,19,2,2,5],"span":[387,2,8]},{"path":[4,19,2,2,1],"span":[387,9,25]},{"path":[4,19,2,2,3],"span":[387,28,29]},{"path":[4,19,2,3],"span":[388,2,25]},{"path":[4,19,2,3,5],"span":[388,2,8]},{"path":[4,19,2,3,1],"span":[388,9,20]},{"path":[4,19,2,3,3],"span":[388,23,24]},{"path":[4,19,2,4],"span":[389,2,26]},{"path":[4,19,2,4,5],"span":[389,2,8]},{"path":[4,19,2,4,1],"span":[389,9,21]},{"path":[4,19,2,4,3],"span":[389,24,25]},{"path":[4,19,2,5],"span":[390,2,26]},{"path":[4,19,2,5,5],"span":[390,2,8]},{"path":[4,19,2,5,1],"span":[390,9,21]},{"path":[4,19,2,5,3],"span":[390,24,25]},{"path":[4,19,2,6],"span":[391,2,29]},{"path":[4,19,2,6,5],"span":[391,2,8]},{"path":[4,19,2,6,1],"span":[391,9,24]},{"path":[4,19,2,6,3],"span":[391,27,28]},{"path":[4,19,2,7],"span":[392,2,29]},{"path":[4,19,2,7,5],"span":[392,2,8]},{"path":[4,19,2,7,1],"span":[392,9,24]},{"path":[4,19,2,7,3],"span":[392,27,28]},{"path":[4,19,2,8],"span":[394,2,22]},{"path":[4,19,2,8,5],"span":[394,2,8]},{"path":[4,19,2,8,1],"span":[394,9,17]},{"path":[4,19,2,8,3],"span":[394,20,21]},{"path":[4,19,2,9],"span":[395,2,23]},{"path":[4,19,2,9,5],"span":[395,2,8]},{"path":[4,19,2,9,1],"span":[395,9,17]},{"path":[4,19,2,9,3],"span":[395,20,22]},{"path":[4,19,2,10],"span":[396,2,27]},{"path":[4,19,2,10,5],"span":[396,2,8]},{"path":[4,19,2,10,1],"span":[396,9,21]},{"path":[4,19,2,10,3],"span":[396,24,26]},{"path":[4,19,2,11],"span":[397,2,27]},{"path":[4,19,2,11,5],"span":[397,2,8]},{"path":[4,19,2,11,1],"span":[397,9,21]},{"path":[4,19,2,11,3],"span":[397,24,26]},{"path":[4,19,2,12],"span":[399,2,27]},{"path":[4,19,2,12,5],"span":[399,2,8]},{"path":[4,19,2,12,1],"span":[399,9,21]},{"path":[4,19,2,12,3],"span":[399,24,26]},{"path":[4,19,2,13],"span":[400,2,26]},{"path":[4,19,2,13,5],"span":[400,2,8]},{"path":[4,19,2,13,1],"span":[400,9,20]},{"path":[4,19,2,13,3],"span":[400,23,25]},{"path":[4,19,2,14],"span":[401,2,24]},{"path":[4,19,2,14,5],"span":[401,2,8]},{"path":[4,19,2,14,1],"span":[401,9,18]},{"path":[4,19,2,14,3],"span":[401,21,23]},{"path":[4,19,2,15],"span":[402,2,27]},{"path":[4,19,2,15,5],"span":[402,2,8]},{"path":[4,19,2,15,1],"span":[402,9,21]},{"path":[4,19,2,15,3],"span":[402,24,26]},{"path":[4,19,2,16],"span":[403,2,27]},{"path":[4,19,2,16,5],"span":[403,2,8]},{"path":[4,19,2,16,1],"span":[403,9,21]},{"path":[4,19,2,16,3],"span":[403,24,26]},{"path":[4,19,2,17],"span":[405,2,34]},{"path":[4,19,2,17,5],"span":[405,2,8]},{"path":[4,19,2,17,1],"span":[405,9,28]},{"path":[4,19,2,17,3],"span":[405,31,33]},{"path":[4,19,2,18],"span":[406,2,33]},{"path":[4,19,2,18,5],"span":[406,2,8]},{"path":[4,19,2,18,1],"span":[406,9,27]},{"path":[4,19,2,18,3],"span":[406,30,32]},{"path":[4,19,2,19],"span":[407,2,34]},{"path":[4,19,2,19,5],"span":[407,2,8]},{"path":[4,19,2,19,1],"span":[407,9,28]},{"path":[4,19,2,19,3],"span":[407,31,33]},{"path":[4,19,2,20],"span":[408,2,33]},{"path":[4,19,2,20,5],"span":[408,2,8]},{"path":[4,19,2,20,1],"span":[408,9,27]},{"path":[4,19,2,20,3],"span":[408,30,32]},{"path":[4,19,2,21],"span":[410,2,24]},{"path":[4,19,2,21,5],"span":[410,2,8]},{"path":[4,19,2,21,1],"span":[410,9,18]},{"path":[4,19,2,21,3],"span":[410,21,23]},{"path":[4,19,2,22],"span":[411,2,32]},{"path":[4,19,2,22,5],"span":[411,2,8]},{"path":[4,19,2,22,1],"span":[411,9,26]},{"path":[4,19,2,22,3],"span":[411,29,31]},{"path":[4,19,2,23],"span":[412,2,23]},{"path":[4,19,2,23,5],"span":[412,2,8]},{"path":[4,19,2,23,1],"span":[412,9,17]},{"path":[4,19,2,23,3],"span":[412,20,22]},{"path":[4,19,2,24],"span":[413,2,26]},{"path":[4,19,2,24,5],"span":[413,2,8]},{"path":[4,19,2,24,1],"span":[413,9,20]},{"path":[4,19,2,24,3],"span":[413,23,25]},{"path":[4,19,2,25],"span":[414,2,32]},{"path":[4,19,2,25,5],"span":[414,2,8]},{"path":[4,19,2,25,1],"span":[414,9,26]},{"path":[4,19,2,25,3],"span":[414,29,31]},{"path":[4,19,2,26],"span":[415,2,28]},{"path":[4,19,2,26,5],"span":[415,2,8]},{"path":[4,19,2,26,1],"span":[415,9,22]},{"path":[4,19,2,26,3],"span":[415,25,27]},{"path":[4,19,2,27],"span":[416,2,26]},{"path":[4,19,2,27,5],"span":[416,2,8]},{"path":[4,19,2,27,1],"span":[416,9,20]},{"path":[4,19,2,27,3],"span":[416,23,25]},{"path":[4,19,2,28],"span":[417,2,30]},{"path":[4,19,2,28,5],"span":[417,2,8]},{"path":[4,19,2,28,1],"span":[417,9,24]},{"path":[4,19,2,28,3],"span":[417,27,29]},{"path":[6,0],"span":[422,0,438,1],"leadingComments":" Channelz is a service exposed by gRPC servers that provides detailed debug\n information.\n"},{"path":[6,0,1],"span":[422,8,16]},{"path":[6,0,2,0],"span":[425,2,77],"leadingComments":" Gets all root channels (i.e. channels the application has directly\n created). This does not include subchannels nor non-top level channels.\n"},{"path":[6,0,2,0,1],"span":[425,6,20]},{"path":[6,0,2,0,2],"span":[425,21,42]},{"path":[6,0,2,0,3],"span":[425,53,75]},{"path":[6,0,2,1],"span":[427,2,65],"leadingComments":" Gets all servers that exist in the process.\n"},{"path":[6,0,2,1,1],"span":[427,6,16]},{"path":[6,0,2,1,2],"span":[427,17,34]},{"path":[6,0,2,1,3],"span":[427,45,63]},{"path":[6,0,2,2],"span":[429,2,62],"leadingComments":" Returns a single Server, or else a NOT_FOUND code.\n"},{"path":[6,0,2,2,1],"span":[429,6,15]},{"path":[6,0,2,2,2],"span":[429,16,32]},{"path":[6,0,2,2,3],"span":[429,43,60]},{"path":[6,0,2,3],"span":[431,2,83],"leadingComments":" Gets all server sockets that exist in the process.\n"},{"path":[6,0,2,3,1],"span":[431,6,22]},{"path":[6,0,2,3,2],"span":[431,23,46]},{"path":[6,0,2,3,3],"span":[431,57,81]},{"path":[6,0,2,4],"span":[433,2,65],"leadingComments":" Returns a single Channel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,4,1],"span":[433,6,16]},{"path":[6,0,2,4,2],"span":[433,17,34]},{"path":[6,0,2,4,3],"span":[433,45,63]},{"path":[6,0,2,5],"span":[435,2,74],"leadingComments":" Returns a single Subchannel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,5,1],"span":[435,6,19]},{"path":[6,0,2,5,2],"span":[435,20,40]},{"path":[6,0,2,5,3],"span":[435,51,72]},{"path":[6,0,2,6],"span":[437,2,62],"leadingComments":" Returns a single Socket or else a NOT_FOUND code.\n"},{"path":[6,0,2,6,1],"span":[437,6,15]},{"path":[6,0,2,6,2],"span":[437,16,32]},{"path":[6,0,2,6,3],"span":[437,43,60]},{"path":[4,20],"span":[440,0,452,1]},{"path":[4,20,1],"span":[440,8,29]},{"path":[4,20,2,0],"span":[446,2,29],"leadingComments":" start_channel_id indicates that only channels at or above this id should be\n included in the results.\n To request the first page, this should be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,20,2,0,5],"span":[446,2,7]},{"path":[4,20,2,0,1],"span":[446,8,24]},{"path":[4,20,2,0,3],"span":[446,27,28]},{"path":[4,20,2,1],"span":[451,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,20,2,1,5],"span":[451,2,7]},{"path":[4,20,2,1,1],"span":[451,8,19]},{"path":[4,20,2,1,3],"span":[451,22,23]},{"path":[4,21],"span":[454,0,463,1]},{"path":[4,21,1],"span":[454,8,30]},{"path":[4,21,2,0],"span":[458,2,31],"leadingComments":" list of channels that the connection detail service knows about. Sorted in\n ascending channel_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,21,2,0,4],"span":[458,2,10]},{"path":[4,21,2,0,6],"span":[458,11,18]},{"path":[4,21,2,0,1],"span":[458,19,26]},{"path":[4,21,2,0,3],"span":[458,29,30]},{"path":[4,21,2,1],"span":[462,2,15],"leadingComments":" If set, indicates that the list of channels is the final list. Requesting\n more channels can only return more if they are created after this RPC\n completes.\n"},{"path":[4,21,2,1,5],"span":[462,2,6]},{"path":[4,21,2,1,1],"span":[462,7,10]},{"path":[4,21,2,1,3],"span":[462,13,14]},{"path":[4,22],"span":[465,0,477,1]},{"path":[4,22,1],"span":[465,8,25]},{"path":[4,22,2,0],"span":[471,2,28],"leadingComments":" start_server_id indicates that only servers at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,22,2,0,5],"span":[471,2,7]},{"path":[4,22,2,0,1],"span":[471,8,23]},{"path":[4,22,2,0,3],"span":[471,26,27]},{"path":[4,22,2,1],"span":[476,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,22,2,1,5],"span":[476,2,7]},{"path":[4,22,2,1,1],"span":[476,8,19]},{"path":[4,22,2,1,3],"span":[476,22,23]},{"path":[4,23],"span":[479,0,488,1]},{"path":[4,23,1],"span":[479,8,26]},{"path":[4,23,2,0],"span":[483,2,29],"leadingComments":" list of servers that the connection detail service knows about. Sorted in\n ascending server_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,23,2,0,4],"span":[483,2,10]},{"path":[4,23,2,0,6],"span":[483,11,17]},{"path":[4,23,2,0,1],"span":[483,18,24]},{"path":[4,23,2,0,3],"span":[483,27,28]},{"path":[4,23,2,1],"span":[487,2,15],"leadingComments":" If set, indicates that the list of servers is the final list. Requesting\n more servers will only return more if they are created after this RPC\n completes.\n"},{"path":[4,23,2,1,5],"span":[487,2,6]},{"path":[4,23,2,1,1],"span":[487,7,10]},{"path":[4,23,2,1,3],"span":[487,13,14]},{"path":[4,24],"span":[490,0,493,1]},{"path":[4,24,1],"span":[490,8,24]},{"path":[4,24,2,0],"span":[492,2,22],"leadingComments":" server_id is the identifier of the specific server to get.\n"},{"path":[4,24,2,0,5],"span":[492,2,7]},{"path":[4,24,2,0,1],"span":[492,8,17]},{"path":[4,24,2,0,3],"span":[492,20,21]},{"path":[4,25],"span":[495,0,499,1]},{"path":[4,25,1],"span":[495,8,25]},{"path":[4,25,2,0],"span":[498,2,20],"leadingComments":" The Server that corresponds to the requested server_id. This field\n should be set.\n"},{"path":[4,25,2,0,6],"span":[498,2,8]},{"path":[4,25,2,0,1],"span":[498,9,15]},{"path":[4,25,2,0,3],"span":[498,18,19]},{"path":[4,26],"span":[501,0,514,1]},{"path":[4,26,1],"span":[501,8,31]},{"path":[4,26,2,0],"span":[502,2,22]},{"path":[4,26,2,0,5],"span":[502,2,7]},{"path":[4,26,2,0,1],"span":[502,8,17]},{"path":[4,26,2,0,3],"span":[502,20,21]},{"path":[4,26,2,1],"span":[508,2,28],"leadingComments":" start_socket_id indicates that only sockets at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,26,2,1,5],"span":[508,2,7]},{"path":[4,26,2,1,1],"span":[508,8,23]},{"path":[4,26,2,1,3],"span":[508,26,27]},{"path":[4,26,2,2],"span":[513,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,26,2,2,5],"span":[513,2,7]},{"path":[4,26,2,2,1],"span":[513,8,19]},{"path":[4,26,2,2,3],"span":[513,22,23]},{"path":[4,27],"span":[516,0,525,1]},{"path":[4,27,1],"span":[516,8,32]},{"path":[4,27,2,0],"span":[520,2,36],"leadingComments":" list of socket refs that the connection detail service knows about. Sorted in\n ascending socket_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,27,2,0,4],"span":[520,2,10]},{"path":[4,27,2,0,6],"span":[520,11,20]},{"path":[4,27,2,0,1],"span":[520,21,31]},{"path":[4,27,2,0,3],"span":[520,34,35]},{"path":[4,27,2,1],"span":[524,2,15],"leadingComments":" If set, indicates that the list of sockets is the final list. Requesting\n more sockets will only return more if they are created after this RPC\n completes.\n"},{"path":[4,27,2,1,5],"span":[524,2,6]},{"path":[4,27,2,1,1],"span":[524,7,10]},{"path":[4,27,2,1,3],"span":[524,13,14]},{"path":[4,28],"span":[527,0,530,1]},{"path":[4,28,1],"span":[527,8,25]},{"path":[4,28,2,0],"span":[529,2,23],"leadingComments":" channel_id is the identifier of the specific channel to get.\n"},{"path":[4,28,2,0,5],"span":[529,2,7]},{"path":[4,28,2,0,1],"span":[529,8,18]},{"path":[4,28,2,0,3],"span":[529,21,22]},{"path":[4,29],"span":[532,0,536,1]},{"path":[4,29,1],"span":[532,8,26]},{"path":[4,29,2,0],"span":[535,2,22],"leadingComments":" The Channel that corresponds to the requested channel_id. This field\n should be set.\n"},{"path":[4,29,2,0,6],"span":[535,2,9]},{"path":[4,29,2,0,1],"span":[535,10,17]},{"path":[4,29,2,0,3],"span":[535,20,21]},{"path":[4,30],"span":[538,0,541,1]},{"path":[4,30,1],"span":[538,8,28]},{"path":[4,30,2,0],"span":[540,2,26],"leadingComments":" subchannel_id is the identifier of the specific subchannel to get.\n"},{"path":[4,30,2,0,5],"span":[540,2,7]},{"path":[4,30,2,0,1],"span":[540,8,21]},{"path":[4,30,2,0,3],"span":[540,24,25]},{"path":[4,31],"span":[543,0,547,1]},{"path":[4,31,1],"span":[543,8,29]},{"path":[4,31,2,0],"span":[546,2,28],"leadingComments":" The Subchannel that corresponds to the requested subchannel_id. This\n field should be set.\n"},{"path":[4,31,2,0,6],"span":[546,2,12]},{"path":[4,31,2,0,1],"span":[546,13,23]},{"path":[4,31,2,0,3],"span":[546,26,27]},{"path":[4,32],"span":[549,0,557,1]},{"path":[4,32,1],"span":[549,8,24]},{"path":[4,32,2,0],"span":[551,2,22],"leadingComments":" socket_id is the identifier of the specific socket to get.\n"},{"path":[4,32,2,0,5],"span":[551,2,7]},{"path":[4,32,2,0,1],"span":[551,8,17]},{"path":[4,32,2,0,3],"span":[551,20,21]},{"path":[4,32,2,1],"span":[556,2,19],"leadingComments":" If true, the response will contain only high level information\n that is inexpensive to obtain. Fields thay may be omitted are\n documented.\n"},{"path":[4,32,2,1,5],"span":[556,2,6]},{"path":[4,32,2,1,1],"span":[556,7,14]},{"path":[4,32,2,1,3],"span":[556,17,18]},{"path":[4,33],"span":[559,0,563,1]},{"path":[4,33,1],"span":[559,8,25]},{"path":[4,33,2,0],"span":[562,2,20],"leadingComments":" The Socket that corresponds to the requested socket_id. This field\n should be set.\n"},{"path":[4,33,2,0,6],"span":[562,2,8]},{"path":[4,33,2,0,1],"span":[562,9,15]},{"path":[4,33,2,0,3],"span":[562,18,19]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"limits/limits.proto","package":"lansweeper.shared.limits.v1","messageType":[{"name":"CalculateRiskInsights","field":[{"name":"from_year","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fromYear"},{"name":"from_severity","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".lansweeper.shared.limits.v1.RiskInsightsSeverity","jsonName":"fromSeverity"},{"name":"max","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"max"}]},{"name":"SiteLimits","field":[{"name":"tier","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".lansweeper.shared.limits.v1.SiteLimitsTiers","jsonName":"tier"},{"name":"calculate_risk_insights","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".lansweeper.shared.limits.v1.CalculateRiskInsights","jsonName":"calculateRiskInsights"}]}],"enumType":[{"name":"SiteLimitsTiers","value":[{"name":"SUBSCRIPTION_TYPE_VALUE_STARTER","number":0},{"name":"SUBSCRIPTION_TYPE_VALUE_PRO","number":1},{"name":"SUBSCRIPTION_TYPE_VALUE_ENTERPRISE","number":2}]},{"name":"RiskInsightsSeverity","value":[{"name":"RISK_INSIGHT_SEVERITY_LOW","number":0},{"name":"RISK_INSIGHT_SEVERITY_MEDIUM","number":1},{"name":"RISK_INSIGHT_SEVERITY_HIGH","number":2},{"name":"RISK_INSIGHT_SEVERITY_CRITICAL","number":3}]}],"options":{"goPackage":"github.com/Lansweeper/lansweeperapis/packages/shared/generated-go;limits"},"sourceCodeInfo":{"location":[{"span":[0,0,28,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,36]},{"path":[8],"span":[3,0,95]},{"path":[8,11],"span":[3,0,95]},{"path":[5,0],"span":[6,0,10,1]},{"path":[5,0,1],"span":[6,5,20]},{"path":[5,0,2,0],"span":[7,2,38]},{"path":[5,0,2,0,1],"span":[7,2,33]},{"path":[5,0,2,0,2],"span":[7,36,37]},{"path":[5,0,2,1],"span":[8,2,34]},{"path":[5,0,2,1,1],"span":[8,2,29]},{"path":[5,0,2,1,2],"span":[8,32,33]},{"path":[5,0,2,2],"span":[9,2,41]},{"path":[5,0,2,2,1],"span":[9,2,36]},{"path":[5,0,2,2,2],"span":[9,39,40]},{"path":[5,1],"span":[12,0,17,1]},{"path":[5,1,1],"span":[12,5,25]},{"path":[5,1,2,0],"span":[13,2,32]},{"path":[5,1,2,0,1],"span":[13,2,27]},{"path":[5,1,2,0,2],"span":[13,30,31]},{"path":[5,1,2,1],"span":[14,2,35]},{"path":[5,1,2,1,1],"span":[14,2,30]},{"path":[5,1,2,1,2],"span":[14,33,34]},{"path":[5,1,2,2],"span":[15,2,33]},{"path":[5,1,2,2,1],"span":[15,2,28]},{"path":[5,1,2,2,2],"span":[15,31,32]},{"path":[5,1,2,3],"span":[16,2,37]},{"path":[5,1,2,3,1],"span":[16,2,32]},{"path":[5,1,2,3,2],"span":[16,35,36]},{"path":[4,0],"span":[19,0,23,1]},{"path":[4,0,1],"span":[19,8,29]},{"path":[4,0,2,0],"span":[20,2,23]},{"path":[4,0,2,0,5],"span":[20,2,8]},{"path":[4,0,2,0,1],"span":[20,9,18]},{"path":[4,0,2,0,3],"span":[20,21,22]},{"path":[4,0,2,1],"span":[21,2,41]},{"path":[4,0,2,1,6],"span":[21,2,22]},{"path":[4,0,2,1,1],"span":[21,23,36]},{"path":[4,0,2,1,3],"span":[21,39,40]},{"path":[4,0,2,2],"span":[22,2,16]},{"path":[4,0,2,2,5],"span":[22,2,7]},{"path":[4,0,2,2,1],"span":[22,8,11]},{"path":[4,0,2,2,3],"span":[22,14,15]},{"path":[4,1],"span":[25,0,28,1]},{"path":[4,1,1],"span":[25,8,18]},{"path":[4,1,2,0],"span":[26,2,27]},{"path":[4,1,2,0,6],"span":[26,2,17]},{"path":[4,1,2,0,1],"span":[26,18,22]},{"path":[4,1,2,0,3],"span":[26,25,26]},{"path":[4,1,2,1],"span":[27,2,52]},{"path":[4,1,2,1,6],"span":[27,2,23]},{"path":[4,1,2,1,1],"span":[27,24,47]},{"path":[4,1,2,1,3],"span":[27,50,51]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"proto/permissions.proto","package":"checkpermission","dependency":["limits/limits.proto"],"messageType":[{"name":"CheckPermissionRequest","field":[{"name":"siteId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"accountId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"accountId"},{"name":"action","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"action"},{"name":"traceId","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"traceId"}]},{"name":"CheckPermissionResponse","field":[{"name":"granted","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"granted"},{"name":"installations","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"derivedPermissions","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"derivedPermissions"},{"name":"assetScopesRules","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.CheckPermissionResponse.AssetScopesRulesEntry","jsonName":"assetScopesRules"}],"nestedType":[{"name":"AssetScopesRulesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"GetUserPermissionsRequest","field":[{"name":"userId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"userId"},{"name":"siteId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"traceId","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"traceId","proto3Optional":true}],"oneofDecl":[{"name":"_traceId"}]},{"name":"GetUserPermissionsResponse","field":[{"name":"permissions","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.PermissionsEntry","jsonName":"permissions"}],"nestedType":[{"name":"Permissions","field":[{"name":"installations","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"assetScopesRules","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions.AssetScopesRulesEntry","jsonName":"assetScopesRules"}],"nestedType":[{"name":"AssetScopesRulesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"PermissionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"GetSitesLimitsRequest","field":[{"name":"site_ids","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"siteIds"}]},{"name":"GetSitesLimitsResponse","field":[{"name":"site_limits","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetSitesLimitsResponse.SiteLimitsEntry","jsonName":"siteLimits"}],"nestedType":[{"name":"SiteLimitsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".lansweeper.shared.limits.v1.SiteLimits","jsonName":"value"}],"options":{"mapEntry":true}}]}],"service":[{"name":"CheckPermissionService","method":[{"name":"CheckPermission","inputType":".checkpermission.CheckPermissionRequest","outputType":".checkpermission.CheckPermissionResponse","options":{}},{"name":"GetUserPermissions","inputType":".checkpermission.GetUserPermissionsRequest","outputType":".checkpermission.GetUserPermissionsResponse","options":{}}]},{"name":"SitesLimitsService","method":[{"name":"GetSitesLimits","inputType":".checkpermission.GetSitesLimitsRequest","outputType":".checkpermission.GetSitesLimitsResponse","options":{}}]}],"options":{"goPackage":"./generated-go"},"sourceCodeInfo":{"location":[{"span":[0,0,54,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,24]},{"path":[8],"span":[3,0,37]},{"path":[8,11],"span":[3,0,37]},{"path":[3,0],"span":[5,0,29]},{"path":[4,0],"span":[7,0,12,1]},{"path":[4,0,1],"span":[7,8,30]},{"path":[4,0,2,0],"span":[8,2,20]},{"path":[4,0,2,0,5],"span":[8,2,8]},{"path":[4,0,2,0,1],"span":[8,9,15]},{"path":[4,0,2,0,3],"span":[8,18,19]},{"path":[4,0,2,1],"span":[9,2,23]},{"path":[4,0,2,1,5],"span":[9,2,8]},{"path":[4,0,2,1,1],"span":[9,9,18]},{"path":[4,0,2,1,3],"span":[9,21,22]},{"path":[4,0,2,2],"span":[10,2,20]},{"path":[4,0,2,2,5],"span":[10,2,8]},{"path":[4,0,2,2,1],"span":[10,9,15]},{"path":[4,0,2,2,3],"span":[10,18,19]},{"path":[4,0,2,3],"span":[11,2,21]},{"path":[4,0,2,3,5],"span":[11,2,8]},{"path":[4,0,2,3,1],"span":[11,9,16]},{"path":[4,0,2,3,3],"span":[11,19,20]},{"path":[4,1],"span":[14,0,20,1]},{"path":[4,1,1],"span":[14,8,31]},{"path":[4,1,2,0],"span":[15,2,19]},{"path":[4,1,2,0,5],"span":[15,2,6]},{"path":[4,1,2,0,1],"span":[15,7,14]},{"path":[4,1,2,0,3],"span":[15,17,18]},{"path":[4,1,2,1],"span":[16,2,36]},{"path":[4,1,2,1,4],"span":[16,2,10]},{"path":[4,1,2,1,5],"span":[16,11,17]},{"path":[4,1,2,1,1],"span":[16,18,31]},{"path":[4,1,2,1,3],"span":[16,34,35]},{"path":[4,1,2,2],"span":[17,2,34]},{"path":[4,1,2,2,4],"span":[17,2,10]},{"path":[4,1,2,2,5],"span":[17,11,17]},{"path":[4,1,2,2,1],"span":[17,18,29]},{"path":[4,1,2,2,3],"span":[17,32,33]},{"path":[4,1,2,3],"span":[18,2,41]},{"path":[4,1,2,3,4],"span":[18,2,10]},{"path":[4,1,2,3,5],"span":[18,11,17]},{"path":[4,1,2,3,1],"span":[18,18,36]},{"path":[4,1,2,3,3],"span":[18,39,40]},{"path":[4,1,2,4],"span":[19,2,43]},{"path":[4,1,2,4,6],"span":[19,2,21]},{"path":[4,1,2,4,1],"span":[19,22,38]},{"path":[4,1,2,4,3],"span":[19,41,42]},{"path":[4,2],"span":[22,0,26,1]},{"path":[4,2,1],"span":[22,8,33]},{"path":[4,2,2,0],"span":[23,2,20]},{"path":[4,2,2,0,5],"span":[23,2,8]},{"path":[4,2,2,0,1],"span":[23,9,15]},{"path":[4,2,2,0,3],"span":[23,18,19]},{"path":[4,2,2,1],"span":[24,2,20]},{"path":[4,2,2,1,5],"span":[24,2,8]},{"path":[4,2,2,1,1],"span":[24,9,15]},{"path":[4,2,2,1,3],"span":[24,18,19]},{"path":[4,2,2,2],"span":[25,2,30]},{"path":[4,2,2,2,4],"span":[25,2,10]},{"path":[4,2,2,2,5],"span":[25,11,17]},{"path":[4,2,2,2,1],"span":[25,18,25]},{"path":[4,2,2,2,3],"span":[25,28,29]},{"path":[4,3],"span":[28,0,35,1]},{"path":[4,3,1],"span":[28,8,34]},{"path":[4,3,3,0],"span":[29,2,33,3]},{"path":[4,3,3,0,1],"span":[29,10,21]},{"path":[4,3,3,0,2,0],"span":[30,4,38]},{"path":[4,3,3,0,2,0,4],"span":[30,4,12]},{"path":[4,3,3,0,2,0,5],"span":[30,13,19]},{"path":[4,3,3,0,2,0,1],"span":[30,20,33]},{"path":[4,3,3,0,2,0,3],"span":[30,36,37]},{"path":[4,3,3,0,2,1],"span":[31,4,36]},{"path":[4,3,3,0,2,1,4],"span":[31,4,12]},{"path":[4,3,3,0,2,1,5],"span":[31,13,19]},{"path":[4,3,3,0,2,1,1],"span":[31,20,31]},{"path":[4,3,3,0,2,1,3],"span":[31,34,35]},{"path":[4,3,3,0,2,2],"span":[32,4,45]},{"path":[4,3,3,0,2,2,6],"span":[32,4,23]},{"path":[4,3,3,0,2,2,1],"span":[32,24,40]},{"path":[4,3,3,0,2,2,3],"span":[32,43,44]},{"path":[4,3,2,0],"span":[34,2,43]},{"path":[4,3,2,0,6],"span":[34,2,26]},{"path":[4,3,2,0,1],"span":[34,27,38]},{"path":[4,3,2,0,3],"span":[34,41,42]},{"path":[4,4],"span":[37,0,39,1]},{"path":[4,4,1],"span":[37,8,29]},{"path":[4,4,2,0],"span":[38,2,31]},{"path":[4,4,2,0,4],"span":[38,2,10]},{"path":[4,4,2,0,5],"span":[38,11,17]},{"path":[4,4,2,0,1],"span":[38,18,26]},{"path":[4,4,2,0,3],"span":[38,29,30]},{"path":[4,5],"span":[42,0,44,1]},{"path":[4,5,1],"span":[42,8,30]},{"path":[4,5,2,0],"span":[43,2,70]},{"path":[4,5,2,0,6],"span":[43,2,53]},{"path":[4,5,2,0,1],"span":[43,54,65]},{"path":[4,5,2,0,3],"span":[43,68,69]},{"path":[6,0],"span":[47,0,50,1]},{"path":[6,0,1],"span":[47,8,30]},{"path":[6,0,2,0],"span":[48,2,83]},{"path":[6,0,2,0,1],"span":[48,6,21]},{"path":[6,0,2,0,2],"span":[48,23,45]},{"path":[6,0,2,0,3],"span":[48,56,79]},{"path":[6,0,2,1],"span":[49,2,92]},{"path":[6,0,2,1,1],"span":[49,6,24]},{"path":[6,0,2,1,2],"span":[49,26,51]},{"path":[6,0,2,1,3],"span":[49,62,88]},{"path":[6,1],"span":[52,0,54,1]},{"path":[6,1,1],"span":[52,8,26]},{"path":[6,1,2,0],"span":[53,2,80]},{"path":[6,1,2,0,1],"span":[53,6,20]},{"path":[6,1,2,0,2],"span":[53,22,43]},{"path":[6,1,2,0,3],"span":[53,54,76]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]}
1
+ {"file":[{"name":"google/protobuf/any.proto","package":"google.protobuf","messageType":[{"name":"Any","field":[{"name":"type_url","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeUrl"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"AnyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/anypb","objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,157,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,67]},{"path":[8,11],"span":[35,0,67]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,41]},{"path":[8,8],"span":[37,0,41]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[4,0],"span":[124,0,157,1],"leadingComments":" `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\n Example 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\n The pack methods provided by protobuf library will by default use\n 'type.googleapis.com/full.type.name' as the type URL and the unpack\n methods only use the fully qualified type name after the last '/'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": <string>,\n \"lastName\": <string>\n }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }\n\n"},{"path":[4,0,1],"span":[124,8,11]},{"path":[4,0,2,0],"span":[153,2,22],"leadingComments":" A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL's path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n"},{"path":[4,0,2,0,5],"span":[153,2,8]},{"path":[4,0,2,0,1],"span":[153,9,17]},{"path":[4,0,2,0,3],"span":[153,20,21]},{"path":[4,0,2,1],"span":[156,2,18],"leadingComments":" Must be a valid serialized protocol buffer of the above specified type.\n"},{"path":[4,0,2,1,5],"span":[156,2,7]},{"path":[4,0,2,1,1],"span":[156,8,13]},{"path":[4,0,2,1,3],"span":[156,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/duration.proto","package":"google.protobuf","messageType":[{"name":"Duration","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DurationProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/durationpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,115,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,72]},{"path":[8,11],"span":[36,0,72]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,46]},{"path":[8,8],"span":[38,0,46]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[102,0,115,1],"leadingComments":" A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds < 0 && duration.nanos > 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds > 0 && duration.nanos < 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos < 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos >= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n\n\n"},{"path":[4,0,1],"span":[102,8,16]},{"path":[4,0,2,0],"span":[106,2,20],"leadingComments":" Signed seconds of the span of time. Must be from -315,576,000,000\n to +315,576,000,000 inclusive. Note: these bounds are computed from:\n 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n"},{"path":[4,0,2,0,5],"span":[106,2,7]},{"path":[4,0,2,0,1],"span":[106,8,15]},{"path":[4,0,2,0,3],"span":[106,18,19]},{"path":[4,0,2,1],"span":[114,2,18],"leadingComments":" Signed fractions of a second at nanosecond resolution of the span\n of time. Durations less than one second are represented with a 0\n `seconds` field and a positive or negative `nanos` field. For durations\n of one second or more, a non-zero value for the `nanos` field must be\n of the same sign as the `seconds` field. Must be from -999,999,999\n to +999,999,999 inclusive.\n"},{"path":[4,0,2,1,5],"span":[114,2,7]},{"path":[4,0,2,1,1],"span":[114,8,13]},{"path":[4,0,2,1,3],"span":[114,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/timestamp.proto","package":"google.protobuf","messageType":[{"name":"Timestamp","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"TimestampProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/timestamppb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,146,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,59]},{"path":[8,37],"span":[34,0,59]},{"path":[8],"span":[35,0,31]},{"path":[8,31],"span":[35,0,31]},{"path":[8],"span":[36,0,73]},{"path":[8,11],"span":[36,0,73]},{"path":[8],"span":[37,0,44]},{"path":[8,1],"span":[37,0,44]},{"path":[8],"span":[38,0,47]},{"path":[8,8],"span":[38,0,47]},{"path":[8],"span":[39,0,34]},{"path":[8,10],"span":[39,0,34]},{"path":[8],"span":[40,0,33]},{"path":[8,36],"span":[40,0,33]},{"path":[4,0],"span":[135,0,146,1],"leadingComments":" A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n ) to obtain a formatter capable of generating timestamps in this format.\n\n\n"},{"path":[4,0,1],"span":[135,8,17]},{"path":[4,0,2,0],"span":[139,2,20],"leadingComments":" Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n"},{"path":[4,0,2,0,5],"span":[139,2,7]},{"path":[4,0,2,0,1],"span":[139,8,15]},{"path":[4,0,2,0,3],"span":[139,18,19]},{"path":[4,0,2,1],"span":[145,2,18],"leadingComments":" Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n"},{"path":[4,0,2,1,5],"span":[145,2,7]},{"path":[4,0,2,1,1],"span":[145,8,13]},{"path":[4,0,2,1,3],"span":[145,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/wrappers.proto","package":"google.protobuf","messageType":[{"name":"DoubleValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"FloatValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}]},{"name":"Int64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}]},{"name":"UInt64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}]},{"name":"Int32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}]},{"name":"UInt32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}]},{"name":"BoolValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}]},{"name":"StringValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"BytesValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"WrappersProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/wrapperspb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[40,0,122,1]},{"path":[12],"span":[40,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"," Wrappers for primitive (non-message) types. These types are useful\n for embedding primitives in the `google.protobuf.Any` type and for places\n where we need to distinguish between the absence of a primitive\n typed field and its default value.\n\n These wrappers have no meaningful use within repeated fields as they lack\n the ability to detect presence on individual elements.\n These wrappers have no meaningful use within a map or a oneof since\n individual entries of a map or fields of a oneof can already detect presence.\n"]},{"path":[2],"span":[42,0,24]},{"path":[8],"span":[44,0,59]},{"path":[8,37],"span":[44,0,59]},{"path":[8],"span":[45,0,31]},{"path":[8,31],"span":[45,0,31]},{"path":[8],"span":[46,0,72]},{"path":[8,11],"span":[46,0,72]},{"path":[8],"span":[47,0,44]},{"path":[8,1],"span":[47,0,44]},{"path":[8],"span":[48,0,46]},{"path":[8,8],"span":[48,0,46]},{"path":[8],"span":[49,0,34]},{"path":[8,10],"span":[49,0,34]},{"path":[8],"span":[50,0,33]},{"path":[8,36],"span":[50,0,33]},{"path":[4,0],"span":[55,0,58,1],"leadingComments":" Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n"},{"path":[4,0,1],"span":[55,8,19]},{"path":[4,0,2,0],"span":[57,2,19],"leadingComments":" The double value.\n"},{"path":[4,0,2,0,5],"span":[57,2,8]},{"path":[4,0,2,0,1],"span":[57,9,14]},{"path":[4,0,2,0,3],"span":[57,17,18]},{"path":[4,1],"span":[63,0,66,1],"leadingComments":" Wrapper message for `float`.\n\n The JSON representation for `FloatValue` is JSON number.\n"},{"path":[4,1,1],"span":[63,8,18]},{"path":[4,1,2,0],"span":[65,2,18],"leadingComments":" The float value.\n"},{"path":[4,1,2,0,5],"span":[65,2,7]},{"path":[4,1,2,0,1],"span":[65,8,13]},{"path":[4,1,2,0,3],"span":[65,16,17]},{"path":[4,2],"span":[71,0,74,1],"leadingComments":" Wrapper message for `int64`.\n\n The JSON representation for `Int64Value` is JSON string.\n"},{"path":[4,2,1],"span":[71,8,18]},{"path":[4,2,2,0],"span":[73,2,18],"leadingComments":" The int64 value.\n"},{"path":[4,2,2,0,5],"span":[73,2,7]},{"path":[4,2,2,0,1],"span":[73,8,13]},{"path":[4,2,2,0,3],"span":[73,16,17]},{"path":[4,3],"span":[79,0,82,1],"leadingComments":" Wrapper message for `uint64`.\n\n The JSON representation for `UInt64Value` is JSON string.\n"},{"path":[4,3,1],"span":[79,8,19]},{"path":[4,3,2,0],"span":[81,2,19],"leadingComments":" The uint64 value.\n"},{"path":[4,3,2,0,5],"span":[81,2,8]},{"path":[4,3,2,0,1],"span":[81,9,14]},{"path":[4,3,2,0,3],"span":[81,17,18]},{"path":[4,4],"span":[87,0,90,1],"leadingComments":" Wrapper message for `int32`.\n\n The JSON representation for `Int32Value` is JSON number.\n"},{"path":[4,4,1],"span":[87,8,18]},{"path":[4,4,2,0],"span":[89,2,18],"leadingComments":" The int32 value.\n"},{"path":[4,4,2,0,5],"span":[89,2,7]},{"path":[4,4,2,0,1],"span":[89,8,13]},{"path":[4,4,2,0,3],"span":[89,16,17]},{"path":[4,5],"span":[95,0,98,1],"leadingComments":" Wrapper message for `uint32`.\n\n The JSON representation for `UInt32Value` is JSON number.\n"},{"path":[4,5,1],"span":[95,8,19]},{"path":[4,5,2,0],"span":[97,2,19],"leadingComments":" The uint32 value.\n"},{"path":[4,5,2,0,5],"span":[97,2,8]},{"path":[4,5,2,0,1],"span":[97,9,14]},{"path":[4,5,2,0,3],"span":[97,17,18]},{"path":[4,6],"span":[103,0,106,1],"leadingComments":" Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n"},{"path":[4,6,1],"span":[103,8,17]},{"path":[4,6,2,0],"span":[105,2,17],"leadingComments":" The bool value.\n"},{"path":[4,6,2,0,5],"span":[105,2,6]},{"path":[4,6,2,0,1],"span":[105,7,12]},{"path":[4,6,2,0,3],"span":[105,15,16]},{"path":[4,7],"span":[111,0,114,1],"leadingComments":" Wrapper message for `string`.\n\n The JSON representation for `StringValue` is JSON string.\n"},{"path":[4,7,1],"span":[111,8,19]},{"path":[4,7,2,0],"span":[113,2,19],"leadingComments":" The string value.\n"},{"path":[4,7,2,0,5],"span":[113,2,8]},{"path":[4,7,2,0,1],"span":[113,9,14]},{"path":[4,7,2,0,3],"span":[113,17,18]},{"path":[4,8],"span":[119,0,122,1],"leadingComments":" Wrapper message for `bytes`.\n\n The JSON representation for `BytesValue` is JSON string.\n"},{"path":[4,8,1],"span":[119,8,18]},{"path":[4,8,2,0],"span":[121,2,18],"leadingComments":" The bytes value.\n"},{"path":[4,8,2,0,5],"span":[121,2,7]},{"path":[4,8,2,0,1],"span":[121,8,13]},{"path":[4,8,2,0,3],"span":[121,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"node_modules/@grpc/grpc-js/proto/channelz.proto","package":"grpc.channelz.v1","dependency":["google/protobuf/any.proto","google/protobuf/duration.proto","google/protobuf/timestamp.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"Channel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"Subchannel","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelData","jsonName":"data"},{"name":"channel_ref","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","jsonName":"channelRef"},{"name":"subchannel_ref","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","jsonName":"subchannelRef"},{"name":"socket_ref","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"}]},{"name":"ChannelConnectivityState","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelConnectivityState.State","jsonName":"state"}],"enumType":[{"name":"State","value":[{"name":"UNKNOWN","number":0},{"name":"IDLE","number":1},{"name":"CONNECTING","number":2},{"name":"READY","number":3},{"name":"TRANSIENT_FAILURE","number":4},{"name":"SHUTDOWN","number":5}]}]},{"name":"ChannelData","field":[{"name":"state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelConnectivityState","jsonName":"state"},{"name":"target","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"target"},{"name":"trace","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"ChannelTraceEvent","field":[{"name":"description","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"description"},{"name":"severity","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".grpc.channelz.v1.ChannelTraceEvent.Severity","jsonName":"severity"},{"name":"timestamp","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"timestamp"},{"name":"channel_ref","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelRef","oneofIndex":0,"jsonName":"channelRef"},{"name":"subchannel_ref","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SubchannelRef","oneofIndex":0,"jsonName":"subchannelRef"}],"enumType":[{"name":"Severity","value":[{"name":"CT_UNKNOWN","number":0},{"name":"CT_INFO","number":1},{"name":"CT_WARNING","number":2},{"name":"CT_ERROR","number":3}]}],"oneofDecl":[{"name":"child_ref"}]},{"name":"ChannelTrace","field":[{"name":"num_events_logged","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"numEventsLogged"},{"name":"creation_timestamp","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"creationTimestamp"},{"name":"events","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTraceEvent","jsonName":"events"}]},{"name":"ChannelRef","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"SubchannelRef","field":[{"name":"subchannel_id","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"},{"name":"name","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7}]},{"name":"SocketRef","field":[{"name":"socket_id","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"name","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":5,"end":6},{"start":6,"end":7},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"ServerRef","field":[{"name":"server_id","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3},{"start":3,"end":4},{"start":4,"end":5},{"start":7,"end":8},{"start":8,"end":9}]},{"name":"Server","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ServerData","jsonName":"data"},{"name":"listen_socket","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"listenSocket"}]},{"name":"ServerData","field":[{"name":"trace","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.ChannelTrace","jsonName":"trace"},{"name":"calls_started","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsStarted"},{"name":"calls_succeeded","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsSucceeded"},{"name":"calls_failed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"callsFailed"},{"name":"last_call_started_timestamp","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastCallStartedTimestamp"}]},{"name":"Socket","field":[{"name":"ref","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"ref"},{"name":"data","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketData","jsonName":"data"},{"name":"local","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"local"},{"name":"remote","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address","jsonName":"remote"},{"name":"security","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security","jsonName":"security"},{"name":"remote_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"remoteName"}]},{"name":"SocketData","field":[{"name":"streams_started","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsStarted"},{"name":"streams_succeeded","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsSucceeded"},{"name":"streams_failed","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"streamsFailed"},{"name":"messages_sent","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesSent"},{"name":"messages_received","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"messagesReceived"},{"name":"keep_alives_sent","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"keepAlivesSent"},{"name":"last_local_stream_created_timestamp","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastLocalStreamCreatedTimestamp"},{"name":"last_remote_stream_created_timestamp","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastRemoteStreamCreatedTimestamp"},{"name":"last_message_sent_timestamp","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageSentTimestamp"},{"name":"last_message_received_timestamp","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"lastMessageReceivedTimestamp"},{"name":"local_flow_control_window","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"localFlowControlWindow"},{"name":"remote_flow_control_window","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"remoteFlowControlWindow"},{"name":"option","number":13,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketOption","jsonName":"option"}]},{"name":"Address","field":[{"name":"tcpip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.TcpIpAddress","oneofIndex":0,"jsonName":"tcpipAddress"},{"name":"uds_address","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.UdsAddress","oneofIndex":0,"jsonName":"udsAddress"},{"name":"other_address","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Address.OtherAddress","oneofIndex":0,"jsonName":"otherAddress"}],"nestedType":[{"name":"TcpIpAddress","field":[{"name":"ip_address","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"ipAddress"},{"name":"port","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"port"}]},{"name":"UdsAddress","field":[{"name":"filename","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"filename"}]},{"name":"OtherAddress","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"address"}]},{"name":"Security","field":[{"name":"tls","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.Tls","oneofIndex":0,"jsonName":"tls"},{"name":"other","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Security.OtherSecurity","oneofIndex":0,"jsonName":"other"}],"nestedType":[{"name":"Tls","field":[{"name":"standard_name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"standardName"},{"name":"other_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"otherName"},{"name":"local_certificate","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"localCertificate"},{"name":"remote_certificate","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"remoteCertificate"}],"oneofDecl":[{"name":"cipher_suite"}]},{"name":"OtherSecurity","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}]}],"oneofDecl":[{"name":"model"}]},{"name":"SocketOption","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"},{"name":"additional","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"additional"}]},{"name":"SocketOptionTimeout","field":[{"name":"duration","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionLinger","field":[{"name":"active","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"active"},{"name":"duration","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"duration"}]},{"name":"SocketOptionTcpInfo","field":[{"name":"tcpi_state","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiState"},{"name":"tcpi_ca_state","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiCaState"},{"name":"tcpi_retransmits","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetransmits"},{"name":"tcpi_probes","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiProbes"},{"name":"tcpi_backoff","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiBackoff"},{"name":"tcpi_options","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiOptions"},{"name":"tcpi_snd_wscale","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndWscale"},{"name":"tcpi_rcv_wscale","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvWscale"},{"name":"tcpi_rto","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRto"},{"name":"tcpi_ato","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAto"},{"name":"tcpi_snd_mss","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndMss"},{"name":"tcpi_rcv_mss","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvMss"},{"name":"tcpi_unacked","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiUnacked"},{"name":"tcpi_sacked","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSacked"},{"name":"tcpi_lost","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLost"},{"name":"tcpi_retrans","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRetrans"},{"name":"tcpi_fackets","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiFackets"},{"name":"tcpi_last_data_sent","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataSent"},{"name":"tcpi_last_ack_sent","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckSent"},{"name":"tcpi_last_data_recv","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastDataRecv"},{"name":"tcpi_last_ack_recv","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiLastAckRecv"},{"name":"tcpi_pmtu","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiPmtu"},{"name":"tcpi_rcv_ssthresh","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRcvSsthresh"},{"name":"tcpi_rtt","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRtt"},{"name":"tcpi_rttvar","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiRttvar"},{"name":"tcpi_snd_ssthresh","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndSsthresh"},{"name":"tcpi_snd_cwnd","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiSndCwnd"},{"name":"tcpi_advmss","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiAdvmss"},{"name":"tcpi_reordering","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"tcpiReordering"}]},{"name":"GetTopChannelsRequest","field":[{"name":"start_channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startChannelId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetTopChannelsResponse","field":[{"name":"channel","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServersRequest","field":[{"name":"start_server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startServerId"},{"name":"max_results","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServersResponse","field":[{"name":"server","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetServerRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"}]},{"name":"GetServerResponse","field":[{"name":"server","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Server","jsonName":"server"}]},{"name":"GetServerSocketsRequest","field":[{"name":"server_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"serverId"},{"name":"start_socket_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"startSocketId"},{"name":"max_results","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"maxResults"}]},{"name":"GetServerSocketsResponse","field":[{"name":"socket_ref","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.SocketRef","jsonName":"socketRef"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"end"}]},{"name":"GetChannelRequest","field":[{"name":"channel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"channelId"}]},{"name":"GetChannelResponse","field":[{"name":"channel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Channel","jsonName":"channel"}]},{"name":"GetSubchannelRequest","field":[{"name":"subchannel_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"subchannelId"}]},{"name":"GetSubchannelResponse","field":[{"name":"subchannel","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Subchannel","jsonName":"subchannel"}]},{"name":"GetSocketRequest","field":[{"name":"socket_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"socketId"},{"name":"summary","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"summary"}]},{"name":"GetSocketResponse","field":[{"name":"socket","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".grpc.channelz.v1.Socket","jsonName":"socket"}]}],"service":[{"name":"Channelz","method":[{"name":"GetTopChannels","inputType":".grpc.channelz.v1.GetTopChannelsRequest","outputType":".grpc.channelz.v1.GetTopChannelsResponse"},{"name":"GetServers","inputType":".grpc.channelz.v1.GetServersRequest","outputType":".grpc.channelz.v1.GetServersResponse"},{"name":"GetServer","inputType":".grpc.channelz.v1.GetServerRequest","outputType":".grpc.channelz.v1.GetServerResponse"},{"name":"GetServerSockets","inputType":".grpc.channelz.v1.GetServerSocketsRequest","outputType":".grpc.channelz.v1.GetServerSocketsResponse"},{"name":"GetChannel","inputType":".grpc.channelz.v1.GetChannelRequest","outputType":".grpc.channelz.v1.GetChannelResponse"},{"name":"GetSubchannel","inputType":".grpc.channelz.v1.GetSubchannelRequest","outputType":".grpc.channelz.v1.GetSubchannelResponse"},{"name":"GetSocket","inputType":".grpc.channelz.v1.GetSocketRequest","outputType":".grpc.channelz.v1.GetSocketResponse"}]}],"options":{"javaPackage":"io.grpc.channelz.v1","javaOuterClassname":"ChannelzProto","javaMultipleFiles":true,"goPackage":"google.golang.org/grpc/channelz/grpc_channelz_v1"},"sourceCodeInfo":{"location":[{"span":[21,0,563,1]},{"path":[12],"span":[21,0,18],"leadingDetachedComments":[" Copyright 2018 The gRPC Authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"," This file defines an interface for exporting monitoring information\n out of gRPC servers. See the full design at\n https://github.com/grpc/proposal/blob/master/A14-channelz.md\n\n The canonical version of this proto can be found at\n https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto\n"]},{"path":[2],"span":[23,0,25]},{"path":[3,0],"span":[25,0,35]},{"path":[3,1],"span":[26,0,40]},{"path":[3,2],"span":[27,0,41]},{"path":[3,3],"span":[28,0,40]},{"path":[8],"span":[30,0,71]},{"path":[8,11],"span":[30,0,71]},{"path":[8],"span":[31,0,34]},{"path":[8,10],"span":[31,0,34]},{"path":[8],"span":[32,0,44]},{"path":[8,1],"span":[32,0,44]},{"path":[8],"span":[33,0,46]},{"path":[8,8],"span":[33,0,46]},{"path":[4,0],"span":[36,0,56,1],"leadingComments":" Channel is a logical grouping of channels, subchannels, and sockets.\n"},{"path":[4,0,1],"span":[36,8,15]},{"path":[4,0,2,0],"span":[38,2,21],"leadingComments":" The identifier for this channel. This should bet set.\n"},{"path":[4,0,2,0,6],"span":[38,2,12]},{"path":[4,0,2,0,1],"span":[38,13,16]},{"path":[4,0,2,0,3],"span":[38,19,20]},{"path":[4,0,2,1],"span":[40,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,0,2,1,6],"span":[40,2,13]},{"path":[4,0,2,1,1],"span":[40,14,18]},{"path":[4,0,2,1,3],"span":[40,21,22]},{"path":[4,0,2,2],"span":[46,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,2,4],"span":[46,2,10]},{"path":[4,0,2,2,6],"span":[46,11,21]},{"path":[4,0,2,2,1],"span":[46,22,33]},{"path":[4,0,2,2,3],"span":[46,36,37]},{"path":[4,0,2,3],"span":[52,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,0,2,3,4],"span":[52,2,10]},{"path":[4,0,2,3,6],"span":[52,11,24]},{"path":[4,0,2,3,1],"span":[52,25,39]},{"path":[4,0,2,3,3],"span":[52,42,43]},{"path":[4,0,2,4],"span":[55,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,0,2,4,4],"span":[55,2,10]},{"path":[4,0,2,4,6],"span":[55,11,20]},{"path":[4,0,2,4,1],"span":[55,21,31]},{"path":[4,0,2,4,3],"span":[55,34,35]},{"path":[4,1],"span":[60,0,80,1],"leadingComments":" Subchannel is a logical grouping of channels, subchannels, and sockets.\n A subchannel is load balanced over by it's ancestor\n"},{"path":[4,1,1],"span":[60,8,18]},{"path":[4,1,2,0],"span":[62,2,24],"leadingComments":" The identifier for this channel.\n"},{"path":[4,1,2,0,6],"span":[62,2,15]},{"path":[4,1,2,0,1],"span":[62,16,19]},{"path":[4,1,2,0,3],"span":[62,22,23]},{"path":[4,1,2,1],"span":[64,2,23],"leadingComments":" Data specific to this channel.\n","trailingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n"},{"path":[4,1,2,1,6],"span":[64,2,13]},{"path":[4,1,2,1,1],"span":[64,14,18]},{"path":[4,1,2,1,3],"span":[64,21,22]},{"path":[4,1,2,2],"span":[70,2,38],"leadingComments":" There are no ordering guarantees on the order of channel refs.\n There may not be cycles in the ref graph.\n A channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,2,4],"span":[70,2,10]},{"path":[4,1,2,2,6],"span":[70,11,21]},{"path":[4,1,2,2,1],"span":[70,22,33]},{"path":[4,1,2,2,3],"span":[70,36,37]},{"path":[4,1,2,3],"span":[76,2,44],"leadingComments":" At most one of 'channel_ref+subchannel_ref' and 'socket' is set.\n There are no ordering guarantees on the order of subchannel refs.\n There may not be cycles in the ref graph.\n A sub channel ref may be present in more than one channel or subchannel.\n"},{"path":[4,1,2,3,4],"span":[76,2,10]},{"path":[4,1,2,3,6],"span":[76,11,24]},{"path":[4,1,2,3,1],"span":[76,25,39]},{"path":[4,1,2,3,3],"span":[76,42,43]},{"path":[4,1,2,4],"span":[79,2,36],"leadingComments":" There are no ordering guarantees on the order of sockets.\n"},{"path":[4,1,2,4,4],"span":[79,2,10]},{"path":[4,1,2,4,6],"span":[79,11,20]},{"path":[4,1,2,4,1],"span":[79,21,31]},{"path":[4,1,2,4,3],"span":[79,34,35]},{"path":[4,2],"span":[84,0,94,1],"leadingComments":" These come from the specified states in this document:\n https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md\n"},{"path":[4,2,1],"span":[84,8,32]},{"path":[4,2,4,0],"span":[85,2,92,3]},{"path":[4,2,4,0,1],"span":[85,7,12]},{"path":[4,2,4,0,2,0],"span":[86,4,16]},{"path":[4,2,4,0,2,0,1],"span":[86,4,11]},{"path":[4,2,4,0,2,0,2],"span":[86,14,15]},{"path":[4,2,4,0,2,1],"span":[87,4,13]},{"path":[4,2,4,0,2,1,1],"span":[87,4,8]},{"path":[4,2,4,0,2,1,2],"span":[87,11,12]},{"path":[4,2,4,0,2,2],"span":[88,4,19]},{"path":[4,2,4,0,2,2,1],"span":[88,4,14]},{"path":[4,2,4,0,2,2,2],"span":[88,17,18]},{"path":[4,2,4,0,2,3],"span":[89,4,14]},{"path":[4,2,4,0,2,3,1],"span":[89,4,9]},{"path":[4,2,4,0,2,3,2],"span":[89,12,13]},{"path":[4,2,4,0,2,4],"span":[90,4,26]},{"path":[4,2,4,0,2,4,1],"span":[90,4,21]},{"path":[4,2,4,0,2,4,2],"span":[90,24,25]},{"path":[4,2,4,0,2,5],"span":[91,4,17]},{"path":[4,2,4,0,2,5,1],"span":[91,4,12]},{"path":[4,2,4,0,2,5,2],"span":[91,15,16]},{"path":[4,2,2,0],"span":[93,2,18]},{"path":[4,2,2,0,6],"span":[93,2,7]},{"path":[4,2,2,0,1],"span":[93,8,13]},{"path":[4,2,2,0,3],"span":[93,16,17]},{"path":[4,3],"span":[97,0,117,1],"leadingComments":" Channel data is data related to a specific Channel or Subchannel.\n"},{"path":[4,3,1],"span":[97,8,19]},{"path":[4,3,2,0],"span":[100,2,37],"leadingComments":" The connectivity state of the channel or subchannel. Implementations\n should always set this.\n"},{"path":[4,3,2,0,6],"span":[100,2,26]},{"path":[4,3,2,0,1],"span":[100,27,32]},{"path":[4,3,2,0,3],"span":[100,35,36]},{"path":[4,3,2,1],"span":[103,2,20],"leadingComments":" The target this channel originally tried to connect to. May be absent\n"},{"path":[4,3,2,1,5],"span":[103,2,8]},{"path":[4,3,2,1,1],"span":[103,9,15]},{"path":[4,3,2,1,3],"span":[103,18,19]},{"path":[4,3,2,2],"span":[106,2,25],"leadingComments":" A trace of recent events on the channel. May be absent.\n"},{"path":[4,3,2,2,6],"span":[106,2,14]},{"path":[4,3,2,2,1],"span":[106,15,20]},{"path":[4,3,2,2,3],"span":[106,23,24]},{"path":[4,3,2,3],"span":[109,2,26],"leadingComments":" The number of calls started on the channel\n"},{"path":[4,3,2,3,5],"span":[109,2,7]},{"path":[4,3,2,3,1],"span":[109,8,21]},{"path":[4,3,2,3,3],"span":[109,24,25]},{"path":[4,3,2,4],"span":[111,2,28],"leadingComments":" The number of calls that have completed with an OK status\n"},{"path":[4,3,2,4,5],"span":[111,2,7]},{"path":[4,3,2,4,1],"span":[111,8,23]},{"path":[4,3,2,4,3],"span":[111,26,27]},{"path":[4,3,2,5],"span":[113,2,25],"leadingComments":" The number of calls that have completed with a non-OK status\n"},{"path":[4,3,2,5,5],"span":[113,2,7]},{"path":[4,3,2,5,1],"span":[113,8,20]},{"path":[4,3,2,5,3],"span":[113,23,24]},{"path":[4,3,2,6],"span":[116,2,60],"leadingComments":" The last time a call was started on the channel.\n"},{"path":[4,3,2,6,6],"span":[116,2,27]},{"path":[4,3,2,6,1],"span":[116,28,55]},{"path":[4,3,2,6,3],"span":[116,58,59]},{"path":[4,4],"span":[121,0,143,1],"leadingComments":" A trace event is an interesting thing that happened to a channel or\n subchannel, such as creation, address resolution, subchannel creation, etc.\n"},{"path":[4,4,1],"span":[121,8,25]},{"path":[4,4,2,0],"span":[123,2,25],"leadingComments":" High level description of the event.\n"},{"path":[4,4,2,0,5],"span":[123,2,8]},{"path":[4,4,2,0,1],"span":[123,9,20]},{"path":[4,4,2,0,3],"span":[123,23,24]},{"path":[4,4,4,0],"span":[125,2,130,3],"leadingComments":" The supported severity levels of trace events.\n"},{"path":[4,4,4,0,1],"span":[125,7,15]},{"path":[4,4,4,0,2,0],"span":[126,4,19]},{"path":[4,4,4,0,2,0,1],"span":[126,4,14]},{"path":[4,4,4,0,2,0,2],"span":[126,17,18]},{"path":[4,4,4,0,2,1],"span":[127,4,16]},{"path":[4,4,4,0,2,1,1],"span":[127,4,11]},{"path":[4,4,4,0,2,1,2],"span":[127,14,15]},{"path":[4,4,4,0,2,2],"span":[128,4,19]},{"path":[4,4,4,0,2,2,1],"span":[128,4,14]},{"path":[4,4,4,0,2,2,2],"span":[128,17,18]},{"path":[4,4,4,0,2,3],"span":[129,4,17]},{"path":[4,4,4,0,2,3,1],"span":[129,4,12]},{"path":[4,4,4,0,2,3,2],"span":[129,15,16]},{"path":[4,4,2,1],"span":[132,2,24],"leadingComments":" the severity of the trace event\n"},{"path":[4,4,2,1,6],"span":[132,2,10]},{"path":[4,4,2,1,1],"span":[132,11,19]},{"path":[4,4,2,1,3],"span":[132,22,23]},{"path":[4,4,2,2],"span":[134,2,42],"leadingComments":" When this event occurred.\n"},{"path":[4,4,2,2,6],"span":[134,2,27]},{"path":[4,4,2,2,1],"span":[134,28,37]},{"path":[4,4,2,2,3],"span":[134,40,41]},{"path":[4,4,8,0],"span":[139,2,142,3],"leadingComments":" ref of referenced channel or subchannel.\n Optional, only present if this event refers to a child object. For example,\n this field would be filled if this trace event was for a subchannel being\n created.\n"},{"path":[4,4,8,0,1],"span":[139,8,17]},{"path":[4,4,2,3],"span":[140,4,31]},{"path":[4,4,2,3,6],"span":[140,4,14]},{"path":[4,4,2,3,1],"span":[140,15,26]},{"path":[4,4,2,3,3],"span":[140,29,30]},{"path":[4,4,2,4],"span":[141,4,37]},{"path":[4,4,2,4,6],"span":[141,4,17]},{"path":[4,4,2,4,1],"span":[141,18,32]},{"path":[4,4,2,4,3],"span":[141,35,36]},{"path":[4,5],"span":[146,0,155,1],"leadingComments":" ChannelTrace represents the recent events that have occurred on the channel.\n"},{"path":[4,5,1],"span":[146,8,20]},{"path":[4,5,2,0],"span":[150,2,30],"leadingComments":" Number of events ever logged in this tracing object. This can differ from\n events.size() because events can be overwritten or garbage collected by\n implementations.\n"},{"path":[4,5,2,0,5],"span":[150,2,7]},{"path":[4,5,2,0,1],"span":[150,8,25]},{"path":[4,5,2,0,3],"span":[150,28,29]},{"path":[4,5,2,1],"span":[152,2,51],"leadingComments":" Time that this channel was created.\n"},{"path":[4,5,2,1,6],"span":[152,2,27]},{"path":[4,5,2,1,1],"span":[152,28,46]},{"path":[4,5,2,1,3],"span":[152,49,50]},{"path":[4,5,2,2],"span":[154,2,40],"leadingComments":" List of events that have occurred on this channel.\n"},{"path":[4,5,2,2,4],"span":[154,2,10]},{"path":[4,5,2,2,6],"span":[154,11,28]},{"path":[4,5,2,2,1],"span":[154,29,35]},{"path":[4,5,2,2,3],"span":[154,38,39]},{"path":[4,6],"span":[158,0,165,1],"leadingComments":" ChannelRef is a reference to a Channel.\n"},{"path":[4,6,1],"span":[158,8,18]},{"path":[4,6,2,0],"span":[160,2,23],"leadingComments":" The globally unique id for this channel. Must be a positive number.\n"},{"path":[4,6,2,0,5],"span":[160,2,7]},{"path":[4,6,2,0,1],"span":[160,8,18]},{"path":[4,6,2,0,3],"span":[160,21,22]},{"path":[4,6,2,1],"span":[162,2,18],"leadingComments":" An optional name associated with the channel.\n"},{"path":[4,6,2,1,5],"span":[162,2,8]},{"path":[4,6,2,1,1],"span":[162,9,13]},{"path":[4,6,2,1,3],"span":[162,16,17]},{"path":[4,6,9],"span":[164,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,6,9,0],"span":[164,11,12]},{"path":[4,6,9,0,1],"span":[164,11,12]},{"path":[4,6,9,1],"span":[164,14,15]},{"path":[4,6,9,1,1],"span":[164,14,15]},{"path":[4,6,9,2],"span":[164,17,18]},{"path":[4,6,9,2,1],"span":[164,17,18]},{"path":[4,6,9,3],"span":[164,20,21]},{"path":[4,6,9,3,1],"span":[164,20,21]},{"path":[4,6,9,4],"span":[164,23,24]},{"path":[4,6,9,4,1],"span":[164,23,24]},{"path":[4,6,9,5],"span":[164,26,27]},{"path":[4,6,9,5,1],"span":[164,26,27]},{"path":[4,7],"span":[168,0,175,1],"leadingComments":" SubchannelRef is a reference to a Subchannel.\n"},{"path":[4,7,1],"span":[168,8,21]},{"path":[4,7,2,0],"span":[170,2,26],"leadingComments":" The globally unique id for this subchannel. Must be a positive number.\n"},{"path":[4,7,2,0,5],"span":[170,2,7]},{"path":[4,7,2,0,1],"span":[170,8,21]},{"path":[4,7,2,0,3],"span":[170,24,25]},{"path":[4,7,2,1],"span":[172,2,18],"leadingComments":" An optional name associated with the subchannel.\n"},{"path":[4,7,2,1,5],"span":[172,2,8]},{"path":[4,7,2,1,1],"span":[172,9,13]},{"path":[4,7,2,1,3],"span":[172,16,17]},{"path":[4,7,9],"span":[174,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,7,9,0],"span":[174,11,12]},{"path":[4,7,9,0,1],"span":[174,11,12]},{"path":[4,7,9,1],"span":[174,14,15]},{"path":[4,7,9,1,1],"span":[174,14,15]},{"path":[4,7,9,2],"span":[174,17,18]},{"path":[4,7,9,2,1],"span":[174,17,18]},{"path":[4,7,9,3],"span":[174,20,21]},{"path":[4,7,9,3,1],"span":[174,20,21]},{"path":[4,7,9,4],"span":[174,23,24]},{"path":[4,7,9,4,1],"span":[174,23,24]},{"path":[4,7,9,5],"span":[174,26,27]},{"path":[4,7,9,5,1],"span":[174,26,27]},{"path":[4,8],"span":[178,0,185,1],"leadingComments":" SocketRef is a reference to a Socket.\n"},{"path":[4,8,1],"span":[178,8,17]},{"path":[4,8,2,0],"span":[180,2,22],"leadingComments":" The globally unique id for this socket. Must be a positive number.\n"},{"path":[4,8,2,0,5],"span":[180,2,7]},{"path":[4,8,2,0,1],"span":[180,8,17]},{"path":[4,8,2,0,3],"span":[180,20,21]},{"path":[4,8,2,1],"span":[182,2,18],"leadingComments":" An optional name associated with the socket.\n"},{"path":[4,8,2,1,5],"span":[182,2,8]},{"path":[4,8,2,1,1],"span":[182,9,13]},{"path":[4,8,2,1,3],"span":[182,16,17]},{"path":[4,8,9],"span":[184,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,8,9,0],"span":[184,11,12]},{"path":[4,8,9,0,1],"span":[184,11,12]},{"path":[4,8,9,1],"span":[184,14,15]},{"path":[4,8,9,1,1],"span":[184,14,15]},{"path":[4,8,9,2],"span":[184,17,18]},{"path":[4,8,9,2,1],"span":[184,17,18]},{"path":[4,8,9,3],"span":[184,20,21]},{"path":[4,8,9,3,1],"span":[184,20,21]},{"path":[4,8,9,4],"span":[184,23,24]},{"path":[4,8,9,4,1],"span":[184,23,24]},{"path":[4,8,9,5],"span":[184,26,27]},{"path":[4,8,9,5,1],"span":[184,26,27]},{"path":[4,9],"span":[188,0,195,1],"leadingComments":" ServerRef is a reference to a Server.\n"},{"path":[4,9,1],"span":[188,8,17]},{"path":[4,9,2,0],"span":[190,2,22],"leadingComments":" A globally unique identifier for this server. Must be a positive number.\n"},{"path":[4,9,2,0,5],"span":[190,2,7]},{"path":[4,9,2,0,1],"span":[190,8,17]},{"path":[4,9,2,0,3],"span":[190,20,21]},{"path":[4,9,2,1],"span":[192,2,18],"leadingComments":" An optional name associated with the server.\n"},{"path":[4,9,2,1,5],"span":[192,2,8]},{"path":[4,9,2,1,1],"span":[192,9,13]},{"path":[4,9,2,1,3],"span":[192,16,17]},{"path":[4,9,9],"span":[194,2,28],"leadingComments":" Intentionally don't use field numbers from other refs.\n"},{"path":[4,9,9,0],"span":[194,11,12]},{"path":[4,9,9,0,1],"span":[194,11,12]},{"path":[4,9,9,1],"span":[194,14,15]},{"path":[4,9,9,1,1],"span":[194,14,15]},{"path":[4,9,9,2],"span":[194,17,18]},{"path":[4,9,9,2,1],"span":[194,17,18]},{"path":[4,9,9,3],"span":[194,20,21]},{"path":[4,9,9,3,1],"span":[194,20,21]},{"path":[4,9,9,4],"span":[194,23,24]},{"path":[4,9,9,4,1],"span":[194,23,24]},{"path":[4,9,9,5],"span":[194,26,27]},{"path":[4,9,9,5,1],"span":[194,26,27]},{"path":[4,10],"span":[199,0,208,1],"leadingComments":" Server represents a single server. There may be multiple servers in a single\n program.\n"},{"path":[4,10,1],"span":[199,8,14]},{"path":[4,10,2,0],"span":[201,2,20],"leadingComments":" The identifier for a Server. This should be set.\n"},{"path":[4,10,2,0,6],"span":[201,2,11]},{"path":[4,10,2,0,1],"span":[201,12,15]},{"path":[4,10,2,0,3],"span":[201,18,19]},{"path":[4,10,2,1],"span":[203,2,22],"leadingComments":" The associated data of the Server.\n"},{"path":[4,10,2,1,6],"span":[203,2,12]},{"path":[4,10,2,1,1],"span":[203,13,17]},{"path":[4,10,2,1,3],"span":[203,20,21]},{"path":[4,10,2,2],"span":[207,2,39],"leadingComments":" The sockets that the server is listening on. There are no ordering\n guarantees. This may be absent.\n"},{"path":[4,10,2,2,4],"span":[207,2,10]},{"path":[4,10,2,2,6],"span":[207,11,20]},{"path":[4,10,2,2,1],"span":[207,21,34]},{"path":[4,10,2,2,3],"span":[207,37,38]},{"path":[4,11],"span":[211,0,224,1],"leadingComments":" ServerData is data for a specific Server.\n"},{"path":[4,11,1],"span":[211,8,18]},{"path":[4,11,2,0],"span":[213,2,25],"leadingComments":" A trace of recent events on the server. May be absent.\n"},{"path":[4,11,2,0,6],"span":[213,2,14]},{"path":[4,11,2,0,1],"span":[213,15,20]},{"path":[4,11,2,0,3],"span":[213,23,24]},{"path":[4,11,2,1],"span":[216,2,26],"leadingComments":" The number of incoming calls started on the server\n"},{"path":[4,11,2,1,5],"span":[216,2,7]},{"path":[4,11,2,1,1],"span":[216,8,21]},{"path":[4,11,2,1,3],"span":[216,24,25]},{"path":[4,11,2,2],"span":[218,2,28],"leadingComments":" The number of incoming calls that have completed with an OK status\n"},{"path":[4,11,2,2,5],"span":[218,2,7]},{"path":[4,11,2,2,1],"span":[218,8,23]},{"path":[4,11,2,2,3],"span":[218,26,27]},{"path":[4,11,2,3],"span":[220,2,25],"leadingComments":" The number of incoming calls that have a completed with a non-OK status\n"},{"path":[4,11,2,3,5],"span":[220,2,7]},{"path":[4,11,2,3,1],"span":[220,8,20]},{"path":[4,11,2,3,3],"span":[220,23,24]},{"path":[4,11,2,4],"span":[223,2,60],"leadingComments":" The last time a call was started on the server.\n"},{"path":[4,11,2,4,6],"span":[223,2,27]},{"path":[4,11,2,4,1],"span":[223,28,55]},{"path":[4,11,2,4,3],"span":[223,58,59]},{"path":[4,12],"span":[227,0,244,1],"leadingComments":" Information about an actual connection. Pronounced \"sock-ay\".\n"},{"path":[4,12,1],"span":[227,8,14]},{"path":[4,12,2,0],"span":[229,2,20],"leadingComments":" The identifier for the Socket.\n"},{"path":[4,12,2,0,6],"span":[229,2,11]},{"path":[4,12,2,0,1],"span":[229,12,15]},{"path":[4,12,2,0,3],"span":[229,18,19]},{"path":[4,12,2,1],"span":[232,2,22],"leadingComments":" Data specific to this Socket.\n"},{"path":[4,12,2,1,6],"span":[232,2,12]},{"path":[4,12,2,1,1],"span":[232,13,17]},{"path":[4,12,2,1,3],"span":[232,20,21]},{"path":[4,12,2,2],"span":[234,2,20],"leadingComments":" The locally bound address.\n"},{"path":[4,12,2,2,6],"span":[234,2,9]},{"path":[4,12,2,2,1],"span":[234,10,15]},{"path":[4,12,2,2,3],"span":[234,18,19]},{"path":[4,12,2,3],"span":[236,2,21],"leadingComments":" The remote bound address. May be absent.\n"},{"path":[4,12,2,3,6],"span":[236,2,9]},{"path":[4,12,2,3,1],"span":[236,10,16]},{"path":[4,12,2,3,3],"span":[236,19,20]},{"path":[4,12,2,4],"span":[239,2,24],"leadingComments":" Security details for this socket. May be absent if not available, or\n there is no security on the socket.\n"},{"path":[4,12,2,4,6],"span":[239,2,10]},{"path":[4,12,2,4,1],"span":[239,11,19]},{"path":[4,12,2,4,3],"span":[239,22,23]},{"path":[4,12,2,5],"span":[243,2,25],"leadingComments":" Optional, represents the name of the remote endpoint, if different than\n the original target name.\n"},{"path":[4,12,2,5,5],"span":[243,2,8]},{"path":[4,12,2,5,1],"span":[243,9,20]},{"path":[4,12,2,5,3],"span":[243,23,24]},{"path":[4,13],"span":[249,0,294,1],"leadingComments":" SocketData is data associated for a specific Socket. The fields present\n are specific to the implementation, so there may be minor differences in\n the semantics. (e.g. flow control windows)\n"},{"path":[4,13,1],"span":[249,8,18]},{"path":[4,13,2,0],"span":[251,2,28],"leadingComments":" The number of streams that have been started.\n"},{"path":[4,13,2,0,5],"span":[251,2,7]},{"path":[4,13,2,0,1],"span":[251,8,23]},{"path":[4,13,2,0,3],"span":[251,26,27]},{"path":[4,13,2,1],"span":[255,2,30],"leadingComments":" The number of streams that have ended successfully:\n On client side, received frame with eos bit set;\n On server side, sent frame with eos bit set.\n"},{"path":[4,13,2,1,5],"span":[255,2,7]},{"path":[4,13,2,1,1],"span":[255,8,25]},{"path":[4,13,2,1,3],"span":[255,28,29]},{"path":[4,13,2,2],"span":[259,2,27],"leadingComments":" The number of streams that have ended unsuccessfully:\n On client side, ended without receiving frame with eos bit set;\n On server side, ended without sending frame with eos bit set.\n"},{"path":[4,13,2,2,5],"span":[259,2,7]},{"path":[4,13,2,2,1],"span":[259,8,22]},{"path":[4,13,2,2,3],"span":[259,25,26]},{"path":[4,13,2,3],"span":[261,2,26],"leadingComments":" The number of grpc messages successfully sent on this socket.\n"},{"path":[4,13,2,3,5],"span":[261,2,7]},{"path":[4,13,2,3,1],"span":[261,8,21]},{"path":[4,13,2,3,3],"span":[261,24,25]},{"path":[4,13,2,4],"span":[263,2,30],"leadingComments":" The number of grpc messages received on this socket.\n"},{"path":[4,13,2,4,5],"span":[263,2,7]},{"path":[4,13,2,4,1],"span":[263,8,25]},{"path":[4,13,2,4,3],"span":[263,28,29]},{"path":[4,13,2,5],"span":[267,2,29],"leadingComments":" The number of keep alives sent. This is typically implemented with HTTP/2\n ping messages.\n"},{"path":[4,13,2,5,5],"span":[267,2,7]},{"path":[4,13,2,5,1],"span":[267,8,24]},{"path":[4,13,2,5,3],"span":[267,27,28]},{"path":[4,13,2,6],"span":[271,2,68],"leadingComments":" The last time a stream was created by this endpoint. Usually unset for\n servers.\n"},{"path":[4,13,2,6,6],"span":[271,2,27]},{"path":[4,13,2,6,1],"span":[271,28,63]},{"path":[4,13,2,6,3],"span":[271,66,67]},{"path":[4,13,2,7],"span":[274,2,69],"leadingComments":" The last time a stream was created by the remote endpoint. Usually unset\n for clients.\n"},{"path":[4,13,2,7,6],"span":[274,2,27]},{"path":[4,13,2,7,1],"span":[274,28,64]},{"path":[4,13,2,7,3],"span":[274,67,68]},{"path":[4,13,2,8],"span":[277,2,60],"leadingComments":" The last time a message was sent by this endpoint.\n"},{"path":[4,13,2,8,6],"span":[277,2,27]},{"path":[4,13,2,8,1],"span":[277,28,55]},{"path":[4,13,2,8,3],"span":[277,58,59]},{"path":[4,13,2,9],"span":[279,2,65],"leadingComments":" The last time a message was received by this endpoint.\n"},{"path":[4,13,2,9,6],"span":[279,2,27]},{"path":[4,13,2,9,1],"span":[279,28,59]},{"path":[4,13,2,9,3],"span":[279,62,64]},{"path":[4,13,2,10],"span":[284,2,60],"leadingComments":" The amount of window, granted to the local endpoint by the remote endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,10,6],"span":[284,2,28]},{"path":[4,13,2,10,1],"span":[284,29,54]},{"path":[4,13,2,10,3],"span":[284,57,59]},{"path":[4,13,2,11],"span":[289,2,62],"leadingComments":" The amount of window, granted to the remote endpoint by the local endpoint.\n This may be slightly out of date due to network latency. This does NOT\n include stream level or TCP level flow control info.\n"},{"path":[4,13,2,11,6],"span":[289,2,28]},{"path":[4,13,2,11,1],"span":[289,30,56]},{"path":[4,13,2,11,3],"span":[289,59,61]},{"path":[4,13,2,12],"span":[293,2,36],"leadingComments":" Socket options set on this socket. May be absent if 'summary' is set\n on GetSocketRequest.\n"},{"path":[4,13,2,12,4],"span":[293,2,10]},{"path":[4,13,2,12,6],"span":[293,11,23]},{"path":[4,13,2,12,1],"span":[293,24,30]},{"path":[4,13,2,12,3],"span":[293,33,35]},{"path":[4,14],"span":[297,0,322,1],"leadingComments":" Address represents the address used to create the socket.\n"},{"path":[4,14,1],"span":[297,8,15]},{"path":[4,14,3,0],"span":[298,2,304,3]},{"path":[4,14,3,0,1],"span":[298,10,22]},{"path":[4,14,3,0,2,0],"span":[301,4,25],"leadingComments":" Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16\n bytes in length.\n"},{"path":[4,14,3,0,2,0,5],"span":[301,4,9]},{"path":[4,14,3,0,2,0,1],"span":[301,10,20]},{"path":[4,14,3,0,2,0,3],"span":[301,23,24]},{"path":[4,14,3,0,2,1],"span":[303,4,19],"leadingComments":" 0-64k, or -1 if not appropriate.\n"},{"path":[4,14,3,0,2,1,5],"span":[303,4,9]},{"path":[4,14,3,0,2,1,1],"span":[303,10,14]},{"path":[4,14,3,0,2,1,3],"span":[303,17,18]},{"path":[4,14,3,1],"span":[306,2,308,3],"leadingComments":" A Unix Domain Socket address.\n"},{"path":[4,14,3,1,1],"span":[306,10,20]},{"path":[4,14,3,1,2,0],"span":[307,4,24]},{"path":[4,14,3,1,2,0,5],"span":[307,4,10]},{"path":[4,14,3,1,2,0,1],"span":[307,11,19]},{"path":[4,14,3,1,2,0,3],"span":[307,22,23]},{"path":[4,14,3,2],"span":[310,2,315,3],"leadingComments":" An address type not included above.\n"},{"path":[4,14,3,2,1],"span":[310,10,22]},{"path":[4,14,3,2,2,0],"span":[312,4,20],"leadingComments":" The human readable version of the value. This value should be set.\n"},{"path":[4,14,3,2,2,0,5],"span":[312,4,10]},{"path":[4,14,3,2,2,0,1],"span":[312,11,15]},{"path":[4,14,3,2,2,0,3],"span":[312,18,19]},{"path":[4,14,3,2,2,1],"span":[314,4,34],"leadingComments":" The actual address message.\n"},{"path":[4,14,3,2,2,1,6],"span":[314,4,23]},{"path":[4,14,3,2,2,1,1],"span":[314,24,29]},{"path":[4,14,3,2,2,1,3],"span":[314,32,33]},{"path":[4,14,8,0],"span":[317,2,321,3]},{"path":[4,14,8,0,1],"span":[317,8,15]},{"path":[4,14,2,0],"span":[318,4,35]},{"path":[4,14,2,0,6],"span":[318,4,16]},{"path":[4,14,2,0,1],"span":[318,17,30]},{"path":[4,14,2,0,3],"span":[318,33,34]},{"path":[4,14,2,1],"span":[319,4,31]},{"path":[4,14,2,1,6],"span":[319,4,14]},{"path":[4,14,2,1,1],"span":[319,15,26]},{"path":[4,14,2,1,3],"span":[319,29,30]},{"path":[4,14,2,2],"span":[320,4,35]},{"path":[4,14,2,2,6],"span":[320,4,16]},{"path":[4,14,2,2,1],"span":[320,17,30]},{"path":[4,14,2,2,3],"span":[320,33,34]},{"path":[4,15],"span":[325,0,350,1],"leadingComments":" Security represents details about how secure the socket is.\n"},{"path":[4,15,1],"span":[325,8,16]},{"path":[4,15,3,0],"span":[326,2,339,3]},{"path":[4,15,3,0,1],"span":[326,10,13]},{"path":[4,15,3,0,8,0],"span":[327,4,334,5]},{"path":[4,15,3,0,8,0,1],"span":[327,10,22]},{"path":[4,15,3,0,2,0],"span":[330,6,31],"leadingComments":" The cipher suite name in the RFC 4346 format:\n https://tools.ietf.org/html/rfc4346#appendix-C\n"},{"path":[4,15,3,0,2,0,5],"span":[330,6,12]},{"path":[4,15,3,0,2,0,1],"span":[330,13,26]},{"path":[4,15,3,0,2,0,3],"span":[330,29,30]},{"path":[4,15,3,0,2,1],"span":[333,6,28],"leadingComments":" Some other way to describe the cipher suite if\n the RFC 4346 name is not available.\n"},{"path":[4,15,3,0,2,1,5],"span":[333,6,12]},{"path":[4,15,3,0,2,1,1],"span":[333,13,23]},{"path":[4,15,3,0,2,1,3],"span":[333,26,27]},{"path":[4,15,3,0,2,2],"span":[336,4,32],"leadingComments":" the certificate used by this endpoint.\n"},{"path":[4,15,3,0,2,2,5],"span":[336,4,9]},{"path":[4,15,3,0,2,2,1],"span":[336,10,27]},{"path":[4,15,3,0,2,2,3],"span":[336,30,31]},{"path":[4,15,3,0,2,3],"span":[338,4,33],"leadingComments":" the certificate used by the remote endpoint.\n"},{"path":[4,15,3,0,2,3,5],"span":[338,4,9]},{"path":[4,15,3,0,2,3,1],"span":[338,10,28]},{"path":[4,15,3,0,2,3,3],"span":[338,31,32]},{"path":[4,15,3,1],"span":[340,2,345,3]},{"path":[4,15,3,1,1],"span":[340,10,23]},{"path":[4,15,3,1,2,0],"span":[342,4,20],"leadingComments":" The human readable version of the value.\n"},{"path":[4,15,3,1,2,0,5],"span":[342,4,10]},{"path":[4,15,3,1,2,0,1],"span":[342,11,15]},{"path":[4,15,3,1,2,0,3],"span":[342,18,19]},{"path":[4,15,3,1,2,1],"span":[344,4,34],"leadingComments":" The actual security details message.\n"},{"path":[4,15,3,1,2,1,6],"span":[344,4,23]},{"path":[4,15,3,1,2,1,1],"span":[344,24,29]},{"path":[4,15,3,1,2,1,3],"span":[344,32,33]},{"path":[4,15,8,0],"span":[346,2,349,3]},{"path":[4,15,8,0,1],"span":[346,8,13]},{"path":[4,15,2,0],"span":[347,4,16]},{"path":[4,15,2,0,6],"span":[347,4,7]},{"path":[4,15,2,0,1],"span":[347,8,11]},{"path":[4,15,2,0,3],"span":[347,14,15]},{"path":[4,15,2,1],"span":[348,4,28]},{"path":[4,15,2,1,6],"span":[348,4,17]},{"path":[4,15,2,1,1],"span":[348,18,23]},{"path":[4,15,2,1,3],"span":[348,26,27]},{"path":[4,16],"span":[354,0,364,1],"leadingComments":" SocketOption represents socket options for a socket. Specifically, these\n are the options returned by getsockopt().\n"},{"path":[4,16,1],"span":[354,8,20]},{"path":[4,16,2,0],"span":[357,2,18],"leadingComments":" The full name of the socket option. Typically this will be the upper case\n name, such as \"SO_REUSEPORT\".\n"},{"path":[4,16,2,0,5],"span":[357,2,8]},{"path":[4,16,2,0,1],"span":[357,9,13]},{"path":[4,16,2,0,3],"span":[357,16,17]},{"path":[4,16,2,1],"span":[360,2,19],"leadingComments":" The human readable value of this socket option. At least one of value or\n additional will be set.\n"},{"path":[4,16,2,1,5],"span":[360,2,8]},{"path":[4,16,2,1,1],"span":[360,9,14]},{"path":[4,16,2,1,3],"span":[360,17,18]},{"path":[4,16,2,2],"span":[363,2,37],"leadingComments":" Additional data associated with the socket option. At least one of value\n or additional will be set.\n"},{"path":[4,16,2,2,6],"span":[363,2,21]},{"path":[4,16,2,2,1],"span":[363,22,32]},{"path":[4,16,2,2,3],"span":[363,35,36]},{"path":[4,17],"span":[368,0,370,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_RCVTIMEO and SO_SNDTIMEO\n"},{"path":[4,17,1],"span":[368,8,27]},{"path":[4,17,2,0],"span":[369,2,40]},{"path":[4,17,2,0,6],"span":[369,2,26]},{"path":[4,17,2,0,1],"span":[369,27,35]},{"path":[4,17,2,0,3],"span":[369,38,39]},{"path":[4,18],"span":[374,0,379,1],"leadingComments":" For use with SocketOption's additional field. This is primarily used for\n SO_LINGER.\n"},{"path":[4,18,1],"span":[374,8,26]},{"path":[4,18,2,0],"span":[376,2,18],"leadingComments":" active maps to `struct linger.l_onoff`\n"},{"path":[4,18,2,0,5],"span":[376,2,6]},{"path":[4,18,2,0,1],"span":[376,7,13]},{"path":[4,18,2,0,3],"span":[376,16,17]},{"path":[4,18,2,1],"span":[378,2,40],"leadingComments":" duration maps to `struct linger.l_linger`\n"},{"path":[4,18,2,1,6],"span":[378,2,26]},{"path":[4,18,2,1,1],"span":[378,27,35]},{"path":[4,18,2,1,3],"span":[378,38,39]},{"path":[4,19],"span":[383,0,418,1],"leadingComments":" For use with SocketOption's additional field. Tcp info for\n SOL_TCP and TCP_INFO.\n"},{"path":[4,19,1],"span":[383,8,27]},{"path":[4,19,2,0],"span":[384,2,24]},{"path":[4,19,2,0,5],"span":[384,2,8]},{"path":[4,19,2,0,1],"span":[384,9,19]},{"path":[4,19,2,0,3],"span":[384,22,23]},{"path":[4,19,2,1],"span":[386,2,27]},{"path":[4,19,2,1,5],"span":[386,2,8]},{"path":[4,19,2,1,1],"span":[386,9,22]},{"path":[4,19,2,1,3],"span":[386,25,26]},{"path":[4,19,2,2],"span":[387,2,30]},{"path":[4,19,2,2,5],"span":[387,2,8]},{"path":[4,19,2,2,1],"span":[387,9,25]},{"path":[4,19,2,2,3],"span":[387,28,29]},{"path":[4,19,2,3],"span":[388,2,25]},{"path":[4,19,2,3,5],"span":[388,2,8]},{"path":[4,19,2,3,1],"span":[388,9,20]},{"path":[4,19,2,3,3],"span":[388,23,24]},{"path":[4,19,2,4],"span":[389,2,26]},{"path":[4,19,2,4,5],"span":[389,2,8]},{"path":[4,19,2,4,1],"span":[389,9,21]},{"path":[4,19,2,4,3],"span":[389,24,25]},{"path":[4,19,2,5],"span":[390,2,26]},{"path":[4,19,2,5,5],"span":[390,2,8]},{"path":[4,19,2,5,1],"span":[390,9,21]},{"path":[4,19,2,5,3],"span":[390,24,25]},{"path":[4,19,2,6],"span":[391,2,29]},{"path":[4,19,2,6,5],"span":[391,2,8]},{"path":[4,19,2,6,1],"span":[391,9,24]},{"path":[4,19,2,6,3],"span":[391,27,28]},{"path":[4,19,2,7],"span":[392,2,29]},{"path":[4,19,2,7,5],"span":[392,2,8]},{"path":[4,19,2,7,1],"span":[392,9,24]},{"path":[4,19,2,7,3],"span":[392,27,28]},{"path":[4,19,2,8],"span":[394,2,22]},{"path":[4,19,2,8,5],"span":[394,2,8]},{"path":[4,19,2,8,1],"span":[394,9,17]},{"path":[4,19,2,8,3],"span":[394,20,21]},{"path":[4,19,2,9],"span":[395,2,23]},{"path":[4,19,2,9,5],"span":[395,2,8]},{"path":[4,19,2,9,1],"span":[395,9,17]},{"path":[4,19,2,9,3],"span":[395,20,22]},{"path":[4,19,2,10],"span":[396,2,27]},{"path":[4,19,2,10,5],"span":[396,2,8]},{"path":[4,19,2,10,1],"span":[396,9,21]},{"path":[4,19,2,10,3],"span":[396,24,26]},{"path":[4,19,2,11],"span":[397,2,27]},{"path":[4,19,2,11,5],"span":[397,2,8]},{"path":[4,19,2,11,1],"span":[397,9,21]},{"path":[4,19,2,11,3],"span":[397,24,26]},{"path":[4,19,2,12],"span":[399,2,27]},{"path":[4,19,2,12,5],"span":[399,2,8]},{"path":[4,19,2,12,1],"span":[399,9,21]},{"path":[4,19,2,12,3],"span":[399,24,26]},{"path":[4,19,2,13],"span":[400,2,26]},{"path":[4,19,2,13,5],"span":[400,2,8]},{"path":[4,19,2,13,1],"span":[400,9,20]},{"path":[4,19,2,13,3],"span":[400,23,25]},{"path":[4,19,2,14],"span":[401,2,24]},{"path":[4,19,2,14,5],"span":[401,2,8]},{"path":[4,19,2,14,1],"span":[401,9,18]},{"path":[4,19,2,14,3],"span":[401,21,23]},{"path":[4,19,2,15],"span":[402,2,27]},{"path":[4,19,2,15,5],"span":[402,2,8]},{"path":[4,19,2,15,1],"span":[402,9,21]},{"path":[4,19,2,15,3],"span":[402,24,26]},{"path":[4,19,2,16],"span":[403,2,27]},{"path":[4,19,2,16,5],"span":[403,2,8]},{"path":[4,19,2,16,1],"span":[403,9,21]},{"path":[4,19,2,16,3],"span":[403,24,26]},{"path":[4,19,2,17],"span":[405,2,34]},{"path":[4,19,2,17,5],"span":[405,2,8]},{"path":[4,19,2,17,1],"span":[405,9,28]},{"path":[4,19,2,17,3],"span":[405,31,33]},{"path":[4,19,2,18],"span":[406,2,33]},{"path":[4,19,2,18,5],"span":[406,2,8]},{"path":[4,19,2,18,1],"span":[406,9,27]},{"path":[4,19,2,18,3],"span":[406,30,32]},{"path":[4,19,2,19],"span":[407,2,34]},{"path":[4,19,2,19,5],"span":[407,2,8]},{"path":[4,19,2,19,1],"span":[407,9,28]},{"path":[4,19,2,19,3],"span":[407,31,33]},{"path":[4,19,2,20],"span":[408,2,33]},{"path":[4,19,2,20,5],"span":[408,2,8]},{"path":[4,19,2,20,1],"span":[408,9,27]},{"path":[4,19,2,20,3],"span":[408,30,32]},{"path":[4,19,2,21],"span":[410,2,24]},{"path":[4,19,2,21,5],"span":[410,2,8]},{"path":[4,19,2,21,1],"span":[410,9,18]},{"path":[4,19,2,21,3],"span":[410,21,23]},{"path":[4,19,2,22],"span":[411,2,32]},{"path":[4,19,2,22,5],"span":[411,2,8]},{"path":[4,19,2,22,1],"span":[411,9,26]},{"path":[4,19,2,22,3],"span":[411,29,31]},{"path":[4,19,2,23],"span":[412,2,23]},{"path":[4,19,2,23,5],"span":[412,2,8]},{"path":[4,19,2,23,1],"span":[412,9,17]},{"path":[4,19,2,23,3],"span":[412,20,22]},{"path":[4,19,2,24],"span":[413,2,26]},{"path":[4,19,2,24,5],"span":[413,2,8]},{"path":[4,19,2,24,1],"span":[413,9,20]},{"path":[4,19,2,24,3],"span":[413,23,25]},{"path":[4,19,2,25],"span":[414,2,32]},{"path":[4,19,2,25,5],"span":[414,2,8]},{"path":[4,19,2,25,1],"span":[414,9,26]},{"path":[4,19,2,25,3],"span":[414,29,31]},{"path":[4,19,2,26],"span":[415,2,28]},{"path":[4,19,2,26,5],"span":[415,2,8]},{"path":[4,19,2,26,1],"span":[415,9,22]},{"path":[4,19,2,26,3],"span":[415,25,27]},{"path":[4,19,2,27],"span":[416,2,26]},{"path":[4,19,2,27,5],"span":[416,2,8]},{"path":[4,19,2,27,1],"span":[416,9,20]},{"path":[4,19,2,27,3],"span":[416,23,25]},{"path":[4,19,2,28],"span":[417,2,30]},{"path":[4,19,2,28,5],"span":[417,2,8]},{"path":[4,19,2,28,1],"span":[417,9,24]},{"path":[4,19,2,28,3],"span":[417,27,29]},{"path":[6,0],"span":[422,0,438,1],"leadingComments":" Channelz is a service exposed by gRPC servers that provides detailed debug\n information.\n"},{"path":[6,0,1],"span":[422,8,16]},{"path":[6,0,2,0],"span":[425,2,77],"leadingComments":" Gets all root channels (i.e. channels the application has directly\n created). This does not include subchannels nor non-top level channels.\n"},{"path":[6,0,2,0,1],"span":[425,6,20]},{"path":[6,0,2,0,2],"span":[425,21,42]},{"path":[6,0,2,0,3],"span":[425,53,75]},{"path":[6,0,2,1],"span":[427,2,65],"leadingComments":" Gets all servers that exist in the process.\n"},{"path":[6,0,2,1,1],"span":[427,6,16]},{"path":[6,0,2,1,2],"span":[427,17,34]},{"path":[6,0,2,1,3],"span":[427,45,63]},{"path":[6,0,2,2],"span":[429,2,62],"leadingComments":" Returns a single Server, or else a NOT_FOUND code.\n"},{"path":[6,0,2,2,1],"span":[429,6,15]},{"path":[6,0,2,2,2],"span":[429,16,32]},{"path":[6,0,2,2,3],"span":[429,43,60]},{"path":[6,0,2,3],"span":[431,2,83],"leadingComments":" Gets all server sockets that exist in the process.\n"},{"path":[6,0,2,3,1],"span":[431,6,22]},{"path":[6,0,2,3,2],"span":[431,23,46]},{"path":[6,0,2,3,3],"span":[431,57,81]},{"path":[6,0,2,4],"span":[433,2,65],"leadingComments":" Returns a single Channel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,4,1],"span":[433,6,16]},{"path":[6,0,2,4,2],"span":[433,17,34]},{"path":[6,0,2,4,3],"span":[433,45,63]},{"path":[6,0,2,5],"span":[435,2,74],"leadingComments":" Returns a single Subchannel, or else a NOT_FOUND code.\n"},{"path":[6,0,2,5,1],"span":[435,6,19]},{"path":[6,0,2,5,2],"span":[435,20,40]},{"path":[6,0,2,5,3],"span":[435,51,72]},{"path":[6,0,2,6],"span":[437,2,62],"leadingComments":" Returns a single Socket or else a NOT_FOUND code.\n"},{"path":[6,0,2,6,1],"span":[437,6,15]},{"path":[6,0,2,6,2],"span":[437,16,32]},{"path":[6,0,2,6,3],"span":[437,43,60]},{"path":[4,20],"span":[440,0,452,1]},{"path":[4,20,1],"span":[440,8,29]},{"path":[4,20,2,0],"span":[446,2,29],"leadingComments":" start_channel_id indicates that only channels at or above this id should be\n included in the results.\n To request the first page, this should be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,20,2,0,5],"span":[446,2,7]},{"path":[4,20,2,0,1],"span":[446,8,24]},{"path":[4,20,2,0,3],"span":[446,27,28]},{"path":[4,20,2,1],"span":[451,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,20,2,1,5],"span":[451,2,7]},{"path":[4,20,2,1,1],"span":[451,8,19]},{"path":[4,20,2,1,3],"span":[451,22,23]},{"path":[4,21],"span":[454,0,463,1]},{"path":[4,21,1],"span":[454,8,30]},{"path":[4,21,2,0],"span":[458,2,31],"leadingComments":" list of channels that the connection detail service knows about. Sorted in\n ascending channel_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,21,2,0,4],"span":[458,2,10]},{"path":[4,21,2,0,6],"span":[458,11,18]},{"path":[4,21,2,0,1],"span":[458,19,26]},{"path":[4,21,2,0,3],"span":[458,29,30]},{"path":[4,21,2,1],"span":[462,2,15],"leadingComments":" If set, indicates that the list of channels is the final list. Requesting\n more channels can only return more if they are created after this RPC\n completes.\n"},{"path":[4,21,2,1,5],"span":[462,2,6]},{"path":[4,21,2,1,1],"span":[462,7,10]},{"path":[4,21,2,1,3],"span":[462,13,14]},{"path":[4,22],"span":[465,0,477,1]},{"path":[4,22,1],"span":[465,8,25]},{"path":[4,22,2,0],"span":[471,2,28],"leadingComments":" start_server_id indicates that only servers at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,22,2,0,5],"span":[471,2,7]},{"path":[4,22,2,0,1],"span":[471,8,23]},{"path":[4,22,2,0,3],"span":[471,26,27]},{"path":[4,22,2,1],"span":[476,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,22,2,1,5],"span":[476,2,7]},{"path":[4,22,2,1,1],"span":[476,8,19]},{"path":[4,22,2,1,3],"span":[476,22,23]},{"path":[4,23],"span":[479,0,488,1]},{"path":[4,23,1],"span":[479,8,26]},{"path":[4,23,2,0],"span":[483,2,29],"leadingComments":" list of servers that the connection detail service knows about. Sorted in\n ascending server_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,23,2,0,4],"span":[483,2,10]},{"path":[4,23,2,0,6],"span":[483,11,17]},{"path":[4,23,2,0,1],"span":[483,18,24]},{"path":[4,23,2,0,3],"span":[483,27,28]},{"path":[4,23,2,1],"span":[487,2,15],"leadingComments":" If set, indicates that the list of servers is the final list. Requesting\n more servers will only return more if they are created after this RPC\n completes.\n"},{"path":[4,23,2,1,5],"span":[487,2,6]},{"path":[4,23,2,1,1],"span":[487,7,10]},{"path":[4,23,2,1,3],"span":[487,13,14]},{"path":[4,24],"span":[490,0,493,1]},{"path":[4,24,1],"span":[490,8,24]},{"path":[4,24,2,0],"span":[492,2,22],"leadingComments":" server_id is the identifier of the specific server to get.\n"},{"path":[4,24,2,0,5],"span":[492,2,7]},{"path":[4,24,2,0,1],"span":[492,8,17]},{"path":[4,24,2,0,3],"span":[492,20,21]},{"path":[4,25],"span":[495,0,499,1]},{"path":[4,25,1],"span":[495,8,25]},{"path":[4,25,2,0],"span":[498,2,20],"leadingComments":" The Server that corresponds to the requested server_id. This field\n should be set.\n"},{"path":[4,25,2,0,6],"span":[498,2,8]},{"path":[4,25,2,0,1],"span":[498,9,15]},{"path":[4,25,2,0,3],"span":[498,18,19]},{"path":[4,26],"span":[501,0,514,1]},{"path":[4,26,1],"span":[501,8,31]},{"path":[4,26,2,0],"span":[502,2,22]},{"path":[4,26,2,0,5],"span":[502,2,7]},{"path":[4,26,2,0,1],"span":[502,8,17]},{"path":[4,26,2,0,3],"span":[502,20,21]},{"path":[4,26,2,1],"span":[508,2,28],"leadingComments":" start_socket_id indicates that only sockets at or above this id should be\n included in the results.\n To request the first page, this must be set to 0. To request\n subsequent pages, the client generates this value by adding 1 to\n the highest seen result ID.\n"},{"path":[4,26,2,1,5],"span":[508,2,7]},{"path":[4,26,2,1,1],"span":[508,8,23]},{"path":[4,26,2,1,3],"span":[508,26,27]},{"path":[4,26,2,2],"span":[513,2,24],"leadingComments":" If non-zero, the server will return a page of results containing\n at most this many items. If zero, the server will choose a\n reasonable page size. Must never be negative.\n"},{"path":[4,26,2,2,5],"span":[513,2,7]},{"path":[4,26,2,2,1],"span":[513,8,19]},{"path":[4,26,2,2,3],"span":[513,22,23]},{"path":[4,27],"span":[516,0,525,1]},{"path":[4,27,1],"span":[516,8,32]},{"path":[4,27,2,0],"span":[520,2,36],"leadingComments":" list of socket refs that the connection detail service knows about. Sorted in\n ascending socket_id order.\n Must contain at least 1 result, otherwise 'end' must be true.\n"},{"path":[4,27,2,0,4],"span":[520,2,10]},{"path":[4,27,2,0,6],"span":[520,11,20]},{"path":[4,27,2,0,1],"span":[520,21,31]},{"path":[4,27,2,0,3],"span":[520,34,35]},{"path":[4,27,2,1],"span":[524,2,15],"leadingComments":" If set, indicates that the list of sockets is the final list. Requesting\n more sockets will only return more if they are created after this RPC\n completes.\n"},{"path":[4,27,2,1,5],"span":[524,2,6]},{"path":[4,27,2,1,1],"span":[524,7,10]},{"path":[4,27,2,1,3],"span":[524,13,14]},{"path":[4,28],"span":[527,0,530,1]},{"path":[4,28,1],"span":[527,8,25]},{"path":[4,28,2,0],"span":[529,2,23],"leadingComments":" channel_id is the identifier of the specific channel to get.\n"},{"path":[4,28,2,0,5],"span":[529,2,7]},{"path":[4,28,2,0,1],"span":[529,8,18]},{"path":[4,28,2,0,3],"span":[529,21,22]},{"path":[4,29],"span":[532,0,536,1]},{"path":[4,29,1],"span":[532,8,26]},{"path":[4,29,2,0],"span":[535,2,22],"leadingComments":" The Channel that corresponds to the requested channel_id. This field\n should be set.\n"},{"path":[4,29,2,0,6],"span":[535,2,9]},{"path":[4,29,2,0,1],"span":[535,10,17]},{"path":[4,29,2,0,3],"span":[535,20,21]},{"path":[4,30],"span":[538,0,541,1]},{"path":[4,30,1],"span":[538,8,28]},{"path":[4,30,2,0],"span":[540,2,26],"leadingComments":" subchannel_id is the identifier of the specific subchannel to get.\n"},{"path":[4,30,2,0,5],"span":[540,2,7]},{"path":[4,30,2,0,1],"span":[540,8,21]},{"path":[4,30,2,0,3],"span":[540,24,25]},{"path":[4,31],"span":[543,0,547,1]},{"path":[4,31,1],"span":[543,8,29]},{"path":[4,31,2,0],"span":[546,2,28],"leadingComments":" The Subchannel that corresponds to the requested subchannel_id. This\n field should be set.\n"},{"path":[4,31,2,0,6],"span":[546,2,12]},{"path":[4,31,2,0,1],"span":[546,13,23]},{"path":[4,31,2,0,3],"span":[546,26,27]},{"path":[4,32],"span":[549,0,557,1]},{"path":[4,32,1],"span":[549,8,24]},{"path":[4,32,2,0],"span":[551,2,22],"leadingComments":" socket_id is the identifier of the specific socket to get.\n"},{"path":[4,32,2,0,5],"span":[551,2,7]},{"path":[4,32,2,0,1],"span":[551,8,17]},{"path":[4,32,2,0,3],"span":[551,20,21]},{"path":[4,32,2,1],"span":[556,2,19],"leadingComments":" If true, the response will contain only high level information\n that is inexpensive to obtain. Fields thay may be omitted are\n documented.\n"},{"path":[4,32,2,1,5],"span":[556,2,6]},{"path":[4,32,2,1,1],"span":[556,7,14]},{"path":[4,32,2,1,3],"span":[556,17,18]},{"path":[4,33],"span":[559,0,563,1]},{"path":[4,33,1],"span":[559,8,25]},{"path":[4,33,2,0],"span":[562,2,20],"leadingComments":" The Socket that corresponds to the requested socket_id. This field\n should be set.\n"},{"path":[4,33,2,0,6],"span":[562,2,8]},{"path":[4,33,2,0,1],"span":[562,9,15]},{"path":[4,33,2,0,3],"span":[562,18,19]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"limits/limits.proto","package":"lansweeper.shared.limits.v1","messageType":[{"name":"CalculateRiskInsights","field":[{"name":"from_year","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"fromYear","proto3Optional":true},{"name":"from_severity","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".lansweeper.shared.limits.v1.RiskInsightsSeverity","oneofIndex":1,"jsonName":"fromSeverity","proto3Optional":true},{"name":"max","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":2,"jsonName":"max","proto3Optional":true}],"oneofDecl":[{"name":"_from_year"},{"name":"_from_severity"},{"name":"_max"}]},{"name":"SiteLimits","field":[{"name":"tier","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".lansweeper.shared.limits.v1.SiteLimitsTiers","jsonName":"tier"},{"name":"calculate_risk_insights","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".lansweeper.shared.limits.v1.CalculateRiskInsights","oneofIndex":0,"jsonName":"calculateRiskInsights","proto3Optional":true}],"oneofDecl":[{"name":"_calculate_risk_insights"}]}],"enumType":[{"name":"SiteLimitsTiers","value":[{"name":"SUBSCRIPTION_TYPE_VALUE_STARTER","number":0},{"name":"SUBSCRIPTION_TYPE_VALUE_PRO","number":1},{"name":"SUBSCRIPTION_TYPE_VALUE_ENTERPRISE","number":2}]},{"name":"RiskInsightsSeverity","value":[{"name":"RISK_INSIGHT_SEVERITY_LOW","number":0},{"name":"RISK_INSIGHT_SEVERITY_MEDIUM","number":1},{"name":"RISK_INSIGHT_SEVERITY_HIGH","number":2},{"name":"RISK_INSIGHT_SEVERITY_CRITICAL","number":3}]}],"options":{"goPackage":"github.com/Lansweeper/lansweeperapis/packages/shared/generated-go;limits"},"sourceCodeInfo":{"location":[{"span":[0,0,28,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,36]},{"path":[8],"span":[3,0,95]},{"path":[8,11],"span":[3,0,95]},{"path":[5,0],"span":[6,0,10,1]},{"path":[5,0,1],"span":[6,5,20]},{"path":[5,0,2,0],"span":[7,2,38]},{"path":[5,0,2,0,1],"span":[7,2,33]},{"path":[5,0,2,0,2],"span":[7,36,37]},{"path":[5,0,2,1],"span":[8,2,34]},{"path":[5,0,2,1,1],"span":[8,2,29]},{"path":[5,0,2,1,2],"span":[8,32,33]},{"path":[5,0,2,2],"span":[9,2,41]},{"path":[5,0,2,2,1],"span":[9,2,36]},{"path":[5,0,2,2,2],"span":[9,39,40]},{"path":[5,1],"span":[12,0,17,1]},{"path":[5,1,1],"span":[12,5,25]},{"path":[5,1,2,0],"span":[13,2,32]},{"path":[5,1,2,0,1],"span":[13,2,27]},{"path":[5,1,2,0,2],"span":[13,30,31]},{"path":[5,1,2,1],"span":[14,2,35]},{"path":[5,1,2,1,1],"span":[14,2,30]},{"path":[5,1,2,1,2],"span":[14,33,34]},{"path":[5,1,2,2],"span":[15,2,33]},{"path":[5,1,2,2,1],"span":[15,2,28]},{"path":[5,1,2,2,2],"span":[15,31,32]},{"path":[5,1,2,3],"span":[16,2,37]},{"path":[5,1,2,3,1],"span":[16,2,32]},{"path":[5,1,2,3,2],"span":[16,35,36]},{"path":[4,0],"span":[19,0,23,1]},{"path":[4,0,1],"span":[19,8,29]},{"path":[4,0,2,0],"span":[20,2,32]},{"path":[4,0,2,0,4],"span":[20,2,10]},{"path":[4,0,2,0,5],"span":[20,11,17]},{"path":[4,0,2,0,1],"span":[20,18,27]},{"path":[4,0,2,0,3],"span":[20,30,31]},{"path":[4,0,2,1],"span":[21,2,50]},{"path":[4,0,2,1,4],"span":[21,2,10]},{"path":[4,0,2,1,6],"span":[21,11,31]},{"path":[4,0,2,1,1],"span":[21,32,45]},{"path":[4,0,2,1,3],"span":[21,48,49]},{"path":[4,0,2,2],"span":[22,2,25]},{"path":[4,0,2,2,4],"span":[22,2,10]},{"path":[4,0,2,2,5],"span":[22,11,16]},{"path":[4,0,2,2,1],"span":[22,17,20]},{"path":[4,0,2,2,3],"span":[22,23,24]},{"path":[4,1],"span":[25,0,28,1]},{"path":[4,1,1],"span":[25,8,18]},{"path":[4,1,2,0],"span":[26,2,27]},{"path":[4,1,2,0,6],"span":[26,2,17]},{"path":[4,1,2,0,1],"span":[26,18,22]},{"path":[4,1,2,0,3],"span":[26,25,26]},{"path":[4,1,2,1],"span":[27,2,61]},{"path":[4,1,2,1,4],"span":[27,2,10]},{"path":[4,1,2,1,6],"span":[27,11,32]},{"path":[4,1,2,1,1],"span":[27,33,56]},{"path":[4,1,2,1,3],"span":[27,59,60]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"proto/permissions.proto","package":"checkpermission","dependency":["limits/limits.proto"],"messageType":[{"name":"CheckPermissionRequest","field":[{"name":"siteId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"accountId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"accountId"},{"name":"action","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"action"},{"name":"traceId","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"traceId"}]},{"name":"CheckPermissionResponse","field":[{"name":"granted","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"granted"},{"name":"installations","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"derivedPermissions","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"derivedPermissions"},{"name":"assetScopesRules","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.CheckPermissionResponse.AssetScopesRulesEntry","jsonName":"assetScopesRules"}],"nestedType":[{"name":"AssetScopesRulesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"GetUserPermissionsRequest","field":[{"name":"userId","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"userId"},{"name":"siteId","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"siteId"},{"name":"traceId","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"traceId","proto3Optional":true}],"oneofDecl":[{"name":"_traceId"}]},{"name":"GetUserPermissionsResponse","field":[{"name":"permissions","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.PermissionsEntry","jsonName":"permissions"}],"nestedType":[{"name":"Permissions","field":[{"name":"installations","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"installations"},{"name":"assetScopes","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"assetScopes"},{"name":"assetScopesRules","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions.AssetScopesRulesEntry","jsonName":"assetScopesRules"}],"nestedType":[{"name":"AssetScopesRulesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"PermissionsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".checkpermission.GetUserPermissionsResponse.Permissions","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"GetSitesLimitsRequest","field":[{"name":"site_ids","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"siteIds"}]},{"name":"GetSitesLimitsResponse","field":[{"name":"site_limits","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".checkpermission.GetSitesLimitsResponse.SiteLimitsEntry","jsonName":"siteLimits"}],"nestedType":[{"name":"SiteLimitsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".lansweeper.shared.limits.v1.SiteLimits","jsonName":"value"}],"options":{"mapEntry":true}}]}],"service":[{"name":"CheckPermissionService","method":[{"name":"CheckPermission","inputType":".checkpermission.CheckPermissionRequest","outputType":".checkpermission.CheckPermissionResponse","options":{}},{"name":"GetUserPermissions","inputType":".checkpermission.GetUserPermissionsRequest","outputType":".checkpermission.GetUserPermissionsResponse","options":{}}]},{"name":"SitesLimitsService","method":[{"name":"GetSitesLimits","inputType":".checkpermission.GetSitesLimitsRequest","outputType":".checkpermission.GetSitesLimitsResponse","options":{}}]}],"options":{"goPackage":"./generated-go"},"sourceCodeInfo":{"location":[{"span":[0,0,54,1]},{"path":[12],"span":[0,0,18]},{"path":[2],"span":[2,0,24]},{"path":[8],"span":[3,0,37]},{"path":[8,11],"span":[3,0,37]},{"path":[3,0],"span":[5,0,29]},{"path":[4,0],"span":[7,0,12,1]},{"path":[4,0,1],"span":[7,8,30]},{"path":[4,0,2,0],"span":[8,2,20]},{"path":[4,0,2,0,5],"span":[8,2,8]},{"path":[4,0,2,0,1],"span":[8,9,15]},{"path":[4,0,2,0,3],"span":[8,18,19]},{"path":[4,0,2,1],"span":[9,2,23]},{"path":[4,0,2,1,5],"span":[9,2,8]},{"path":[4,0,2,1,1],"span":[9,9,18]},{"path":[4,0,2,1,3],"span":[9,21,22]},{"path":[4,0,2,2],"span":[10,2,20]},{"path":[4,0,2,2,5],"span":[10,2,8]},{"path":[4,0,2,2,1],"span":[10,9,15]},{"path":[4,0,2,2,3],"span":[10,18,19]},{"path":[4,0,2,3],"span":[11,2,21]},{"path":[4,0,2,3,5],"span":[11,2,8]},{"path":[4,0,2,3,1],"span":[11,9,16]},{"path":[4,0,2,3,3],"span":[11,19,20]},{"path":[4,1],"span":[14,0,20,1]},{"path":[4,1,1],"span":[14,8,31]},{"path":[4,1,2,0],"span":[15,2,19]},{"path":[4,1,2,0,5],"span":[15,2,6]},{"path":[4,1,2,0,1],"span":[15,7,14]},{"path":[4,1,2,0,3],"span":[15,17,18]},{"path":[4,1,2,1],"span":[16,2,36]},{"path":[4,1,2,1,4],"span":[16,2,10]},{"path":[4,1,2,1,5],"span":[16,11,17]},{"path":[4,1,2,1,1],"span":[16,18,31]},{"path":[4,1,2,1,3],"span":[16,34,35]},{"path":[4,1,2,2],"span":[17,2,34]},{"path":[4,1,2,2,4],"span":[17,2,10]},{"path":[4,1,2,2,5],"span":[17,11,17]},{"path":[4,1,2,2,1],"span":[17,18,29]},{"path":[4,1,2,2,3],"span":[17,32,33]},{"path":[4,1,2,3],"span":[18,2,41]},{"path":[4,1,2,3,4],"span":[18,2,10]},{"path":[4,1,2,3,5],"span":[18,11,17]},{"path":[4,1,2,3,1],"span":[18,18,36]},{"path":[4,1,2,3,3],"span":[18,39,40]},{"path":[4,1,2,4],"span":[19,2,43]},{"path":[4,1,2,4,6],"span":[19,2,21]},{"path":[4,1,2,4,1],"span":[19,22,38]},{"path":[4,1,2,4,3],"span":[19,41,42]},{"path":[4,2],"span":[22,0,26,1]},{"path":[4,2,1],"span":[22,8,33]},{"path":[4,2,2,0],"span":[23,2,20]},{"path":[4,2,2,0,5],"span":[23,2,8]},{"path":[4,2,2,0,1],"span":[23,9,15]},{"path":[4,2,2,0,3],"span":[23,18,19]},{"path":[4,2,2,1],"span":[24,2,20]},{"path":[4,2,2,1,5],"span":[24,2,8]},{"path":[4,2,2,1,1],"span":[24,9,15]},{"path":[4,2,2,1,3],"span":[24,18,19]},{"path":[4,2,2,2],"span":[25,2,30]},{"path":[4,2,2,2,4],"span":[25,2,10]},{"path":[4,2,2,2,5],"span":[25,11,17]},{"path":[4,2,2,2,1],"span":[25,18,25]},{"path":[4,2,2,2,3],"span":[25,28,29]},{"path":[4,3],"span":[28,0,35,1]},{"path":[4,3,1],"span":[28,8,34]},{"path":[4,3,3,0],"span":[29,2,33,3]},{"path":[4,3,3,0,1],"span":[29,10,21]},{"path":[4,3,3,0,2,0],"span":[30,4,38]},{"path":[4,3,3,0,2,0,4],"span":[30,4,12]},{"path":[4,3,3,0,2,0,5],"span":[30,13,19]},{"path":[4,3,3,0,2,0,1],"span":[30,20,33]},{"path":[4,3,3,0,2,0,3],"span":[30,36,37]},{"path":[4,3,3,0,2,1],"span":[31,4,36]},{"path":[4,3,3,0,2,1,4],"span":[31,4,12]},{"path":[4,3,3,0,2,1,5],"span":[31,13,19]},{"path":[4,3,3,0,2,1,1],"span":[31,20,31]},{"path":[4,3,3,0,2,1,3],"span":[31,34,35]},{"path":[4,3,3,0,2,2],"span":[32,4,45]},{"path":[4,3,3,0,2,2,6],"span":[32,4,23]},{"path":[4,3,3,0,2,2,1],"span":[32,24,40]},{"path":[4,3,3,0,2,2,3],"span":[32,43,44]},{"path":[4,3,2,0],"span":[34,2,43]},{"path":[4,3,2,0,6],"span":[34,2,26]},{"path":[4,3,2,0,1],"span":[34,27,38]},{"path":[4,3,2,0,3],"span":[34,41,42]},{"path":[4,4],"span":[37,0,39,1]},{"path":[4,4,1],"span":[37,8,29]},{"path":[4,4,2,0],"span":[38,2,31]},{"path":[4,4,2,0,4],"span":[38,2,10]},{"path":[4,4,2,0,5],"span":[38,11,17]},{"path":[4,4,2,0,1],"span":[38,18,26]},{"path":[4,4,2,0,3],"span":[38,29,30]},{"path":[4,5],"span":[42,0,44,1]},{"path":[4,5,1],"span":[42,8,30]},{"path":[4,5,2,0],"span":[43,2,70]},{"path":[4,5,2,0,6],"span":[43,2,53]},{"path":[4,5,2,0,1],"span":[43,54,65]},{"path":[4,5,2,0,3],"span":[43,68,69]},{"path":[6,0],"span":[47,0,50,1]},{"path":[6,0,1],"span":[47,8,30]},{"path":[6,0,2,0],"span":[48,2,83]},{"path":[6,0,2,0,1],"span":[48,6,21]},{"path":[6,0,2,0,2],"span":[48,23,45]},{"path":[6,0,2,0,3],"span":[48,56,79]},{"path":[6,0,2,1],"span":[49,2,92]},{"path":[6,0,2,1,1],"span":[49,6,24]},{"path":[6,0,2,1,2],"span":[49,26,51]},{"path":[6,0,2,1,3],"span":[49,62,88]},{"path":[6,1],"span":[52,0,54,1]},{"path":[6,1,1],"span":[52,8,26]},{"path":[6,1,2,0],"span":[53,2,80]},{"path":[6,1,2,0,1],"span":[53,6,20]},{"path":[6,1,2,0,2],"span":[53,22,43]},{"path":[6,1,2,0,3],"span":[53,54,76]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]}
@@ -7,11 +7,20 @@
7
7
  import * as jspb from "google-protobuf";
8
8
 
9
9
  export class CalculateRiskInsights extends jspb.Message {
10
- getFromYear(): string;
10
+
11
+ hasFromYear(): boolean;
12
+ clearFromYear(): void;
13
+ getFromYear(): string | undefined;
11
14
  setFromYear(value: string): CalculateRiskInsights;
12
- getFromSeverity(): RiskInsightsSeverity;
15
+
16
+ hasFromSeverity(): boolean;
17
+ clearFromSeverity(): void;
18
+ getFromSeverity(): RiskInsightsSeverity | undefined;
13
19
  setFromSeverity(value: RiskInsightsSeverity): CalculateRiskInsights;
14
- getMax(): number;
20
+
21
+ hasMax(): boolean;
22
+ clearMax(): void;
23
+ getMax(): number | undefined;
15
24
  setMax(value: number): CalculateRiskInsights;
16
25
 
17
26
  serializeBinary(): Uint8Array;
@@ -26,9 +35,9 @@ export class CalculateRiskInsights extends jspb.Message {
26
35
 
27
36
  export namespace CalculateRiskInsights {
28
37
  export type AsObject = {
29
- fromYear: string,
30
- fromSeverity: RiskInsightsSeverity,
31
- max: number,
38
+ fromYear?: string,
39
+ fromSeverity?: RiskInsightsSeverity,
40
+ max?: number,
32
41
  }
33
42
  }
34
43
 
@@ -179,22 +179,22 @@ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.serializeBinar
179
179
  */
180
180
  proto.lansweeper.shared.limits.v1.CalculateRiskInsights.serializeBinaryToWriter = function(message, writer) {
181
181
  var f = undefined;
182
- f = message.getFromYear();
183
- if (f.length > 0) {
182
+ f = /** @type {string} */ (jspb.Message.getField(message, 1));
183
+ if (f != null) {
184
184
  writer.writeString(
185
185
  1,
186
186
  f
187
187
  );
188
188
  }
189
- f = message.getFromSeverity();
190
- if (f !== 0.0) {
189
+ f = /** @type {!proto.lansweeper.shared.limits.v1.RiskInsightsSeverity} */ (jspb.Message.getField(message, 2));
190
+ if (f != null) {
191
191
  writer.writeEnum(
192
192
  2,
193
193
  f
194
194
  );
195
195
  }
196
- f = message.getMax();
197
- if (f !== 0) {
196
+ f = /** @type {number} */ (jspb.Message.getField(message, 3));
197
+ if (f != null) {
198
198
  writer.writeInt32(
199
199
  3,
200
200
  f
@@ -217,7 +217,25 @@ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.getFromYear =
217
217
  * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
218
218
  */
219
219
  proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.setFromYear = function(value) {
220
- return jspb.Message.setProto3StringField(this, 1, value);
220
+ return jspb.Message.setField(this, 1, value);
221
+ };
222
+
223
+
224
+ /**
225
+ * Clears the field making it undefined.
226
+ * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
227
+ */
228
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.clearFromYear = function() {
229
+ return jspb.Message.setField(this, 1, undefined);
230
+ };
231
+
232
+
233
+ /**
234
+ * Returns whether this field is set.
235
+ * @return {boolean}
236
+ */
237
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.hasFromYear = function() {
238
+ return jspb.Message.getField(this, 1) != null;
221
239
  };
222
240
 
223
241
 
@@ -235,7 +253,25 @@ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.getFromSeverit
235
253
  * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
236
254
  */
237
255
  proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.setFromSeverity = function(value) {
238
- return jspb.Message.setProto3EnumField(this, 2, value);
256
+ return jspb.Message.setField(this, 2, value);
257
+ };
258
+
259
+
260
+ /**
261
+ * Clears the field making it undefined.
262
+ * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
263
+ */
264
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.clearFromSeverity = function() {
265
+ return jspb.Message.setField(this, 2, undefined);
266
+ };
267
+
268
+
269
+ /**
270
+ * Returns whether this field is set.
271
+ * @return {boolean}
272
+ */
273
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.hasFromSeverity = function() {
274
+ return jspb.Message.getField(this, 2) != null;
239
275
  };
240
276
 
241
277
 
@@ -253,7 +289,25 @@ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.getMax = funct
253
289
  * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
254
290
  */
255
291
  proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.setMax = function(value) {
256
- return jspb.Message.setProto3IntField(this, 3, value);
292
+ return jspb.Message.setField(this, 3, value);
293
+ };
294
+
295
+
296
+ /**
297
+ * Clears the field making it undefined.
298
+ * @return {!proto.lansweeper.shared.limits.v1.CalculateRiskInsights} returns this
299
+ */
300
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.clearMax = function() {
301
+ return jspb.Message.setField(this, 3, undefined);
302
+ };
303
+
304
+
305
+ /**
306
+ * Returns whether this field is set.
307
+ * @return {boolean}
308
+ */
309
+ proto.lansweeper.shared.limits.v1.CalculateRiskInsights.prototype.hasMax = function() {
310
+ return jspb.Message.getField(this, 3) != null;
257
311
  };
258
312
 
259
313
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lansweeper/permissions-grpc",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Permissions grpc",
5
5
  "main": "gen-proto/index.js",
6
6
  "types": "gen-proto/index.d.ts",
@@ -18,5 +18,5 @@
18
18
  "scripts": {
19
19
  "prepublishOnly": "cp -r ../../shared/limits ./proto"
20
20
  },
21
- "gitHead": "8db70939b49fefd64cf58cf8e595dcee64135e35"
21
+ "gitHead": "25402e6e05c51a9848b0be37538a3cfcde0ade86"
22
22
  }
@@ -18,12 +18,12 @@ enum RiskInsightsSeverity {
18
18
  }
19
19
 
20
20
  message CalculateRiskInsights {
21
- string from_year = 1;
22
- RiskInsightsSeverity from_severity = 2;
23
- int32 max = 3;
21
+ optional string from_year = 1;
22
+ optional RiskInsightsSeverity from_severity = 2;
23
+ optional int32 max = 3;
24
24
  }
25
25
 
26
26
  message SiteLimits {
27
27
  SiteLimitsTiers tier = 1;
28
- CalculateRiskInsights calculate_risk_insights = 2;
28
+ optional CalculateRiskInsights calculate_risk_insights = 2;
29
29
  }