/proc/self/cwd/external/upb/upb/wire/decode.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2009-2021, Google LLC |
3 | | * All rights reserved. |
4 | | * |
5 | | * Redistribution and use in source and binary forms, with or without |
6 | | * modification, are permitted provided that the following conditions are met: |
7 | | * * Redistributions of source code must retain the above copyright |
8 | | * notice, this list of conditions and the following disclaimer. |
9 | | * * Redistributions in binary form must reproduce the above copyright |
10 | | * notice, this list of conditions and the following disclaimer in the |
11 | | * documentation and/or other materials provided with the distribution. |
12 | | * * Neither the name of Google LLC nor the |
13 | | * names of its contributors may be used to endorse or promote products |
14 | | * derived from this software without specific prior written permission. |
15 | | * |
16 | | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
17 | | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
18 | | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
19 | | * ARE DISCLAIMED. IN NO EVENT SHALL Google LLC BE LIABLE FOR ANY DIRECT, |
20 | | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | | */ |
27 | | |
28 | | // upb_decode: parsing into a upb_Message using a upb_MiniTable. |
29 | | |
30 | | #ifndef UPB_WIRE_DECODE_H_ |
31 | | #define UPB_WIRE_DECODE_H_ |
32 | | |
33 | | #include "upb/mem/arena.h" |
34 | | #include "upb/message/message.h" |
35 | | #include "upb/mini_table/extension_registry.h" |
36 | | |
37 | | // Must be last. |
38 | | #include "upb/port/def.inc" |
39 | | |
40 | | #ifdef __cplusplus |
41 | | extern "C" { |
42 | | #endif |
43 | | |
44 | | enum { |
45 | | /* If set, strings will alias the input buffer instead of copying into the |
46 | | * arena. */ |
47 | | kUpb_DecodeOption_AliasString = 1, |
48 | | |
49 | | /* If set, the parse will return failure if any message is missing any |
50 | | * required fields when the message data ends. The parse will still continue, |
51 | | * and the failure will only be reported at the end. |
52 | | * |
53 | | * IMPORTANT CAVEATS: |
54 | | * |
55 | | * 1. This can throw a false positive failure if an incomplete message is seen |
56 | | * on the wire but is later completed when the sub-message occurs again. |
57 | | * For this reason, a second pass is required to verify a failure, to be |
58 | | * truly robust. |
59 | | * |
60 | | * 2. This can return a false success if you are decoding into a message that |
61 | | * already has some sub-message fields present. If the sub-message does |
62 | | * not occur in the binary payload, we will never visit it and discover the |
63 | | * incomplete sub-message. For this reason, this check is only useful for |
64 | | * implemting ParseFromString() semantics. For MergeFromString(), a |
65 | | * post-parse validation step will always be necessary. */ |
66 | | kUpb_DecodeOption_CheckRequired = 2, |
67 | | |
68 | | /* EXPERIMENTAL: |
69 | | * |
70 | | * If set, the parser will allow parsing of sub-message fields that were not |
71 | | * previously linked using upb_MiniTable_SetSubMessage(). The data will be |
72 | | * parsed into an internal "empty" message type that cannot be accessed |
73 | | * directly, but can be later promoted into the true message type if the |
74 | | * sub-message fields are linked at a later time. |
75 | | * |
76 | | * Users should set this option if they intend to perform dynamic tree shaking |
77 | | * and promoting using the interfaces in message/promote.h. If this option is |
78 | | * enabled, it is important that the resulting messages are only accessed by |
79 | | * code that is aware of promotion rules: |
80 | | * |
81 | | * 1. Message pointers in upb_Message, upb_Array, and upb_Map are represented |
82 | | * by a tagged pointer upb_TaggedMessagePointer. The tag indicates whether |
83 | | * the message uses the internal "empty" type. |
84 | | * |
85 | | * 2. Any code *reading* these message pointers must test whether the "empty" |
86 | | * tag bit is set, using the interfaces in mini_table/types.h. However |
87 | | * writing of message pointers should always use plain upb_Message*, since |
88 | | * users are not allowed to create "empty" messages. |
89 | | * |
90 | | * 3. It is always safe to test whether a field is present or test the array |
91 | | * length; these interfaces will reflect that empty messages are present, |
92 | | * even though their data cannot be accessed without promoting first. |
93 | | * |
94 | | * 4. If a message pointer is indeed tagged as empty, the message may not be |
95 | | * accessed directly, only promoted through the interfaces in |
96 | | * message/promote.h. |
97 | | * |
98 | | * 5. Tagged/empty messages may never be created by the user. They may only |
99 | | * be created by the parser or the message-copying logic in message/copy.h. |
100 | | */ |
101 | | kUpb_DecodeOption_ExperimentalAllowUnlinked = 4, |
102 | | }; |
103 | | |
104 | 0 | UPB_INLINE uint32_t upb_DecodeOptions_MaxDepth(uint16_t depth) { |
105 | 0 | return (uint32_t)depth << 16; |
106 | 0 | } Unexecuted instantiation: upb_DecodeOptions_MaxDepth Unexecuted instantiation: load_balancer.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: rls.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: cluster.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: cluster.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: fault.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: fault.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: rbac.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: rbac.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: router.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: router.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: stateful_session.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: stateful_session.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_connection_manager.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_connection_manager.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: cookie.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: path_transformation.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: cookie.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: client_side_weighted_round_robin.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: pick_first.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: ring_hash.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: common.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: wrr_locality.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: path_transformation.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: rls_config.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: rls_config.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: status.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: typed_struct.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: status.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: discovery.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: discovery.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: lrs.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: lrs.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: listener.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: api_listener.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: listener_components.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: udp_listener_config.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: quic_config.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: accesslog.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_tracer.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: tls.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: common.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: secret.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: circuit_breaker.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: filter.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: outlier_detection.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: endpoint.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: endpoint_components.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: load_report.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: route.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: route_components.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: scoped_route.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: custom_tag.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: metadata.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: matcher.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: string.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: regex.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: checked.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: syntax.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: address.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: base.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: backoff.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: config_source.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: extension.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: grpc_service.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: health_check.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: event_service_config.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_uri.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: protocol.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: proxy_protocol.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: resolver.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: socket_option.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: substitution_format_string.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: udp_socket_config.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: authority.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: collection_entry.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: context_params.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: resource_locator.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: filter_state.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: path.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: value.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: number.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: deprecation.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: percent.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: range.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: semantic_version.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: migrate.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: security.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: sensitive.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: versioning.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: empty.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: struct.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: wrappers.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: any.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: validate.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: descriptor.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: duration.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: timestamp.upbdefs.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: csds.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: config_dump_shared.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: api_listener.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: listener.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: listener_components.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: quic_config.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: udp_listener_config.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: accesslog.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_tracer.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: secret.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: tls.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: circuit_breaker.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: filter.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: outlier_detection.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: endpoint.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: endpoint_components.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: load_report.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: route.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: route_components.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: scoped_route.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: custom_tag.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: metadata.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: matcher.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: regex.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: string.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: checked.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: syntax.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: address.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: backoff.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: base.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: config_source.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: event_service_config.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: extension.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: grpc_service.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: health_check.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http_uri.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: protocol.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: proxy_protocol.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: resolver.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: socket_option.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: substitution_format_string.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: udp_socket_config.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: authority.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: collection_entry.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: context_params.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: resource_locator.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: filter_state.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: node.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: number.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: path.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: struct.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: value.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: deprecation.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: http.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: percent.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: range.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: semantic_version.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: migrate.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: security.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: sensitive.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: versioning.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: encode.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: def_pool.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: def_builder.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: enum_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: enum_reserved_range.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: enum_value_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: field_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: file_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: message.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: message_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: extension_range.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: message_reserved_range.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: oneof_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: service_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: method_def.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: health.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: orca.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: orca_load_report.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: empty.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: wrappers.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: validate.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: descriptor.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: duration.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: timestamp.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: altscontext.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: handshaker.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: transport_security_common.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: any.upb.c:upb_DecodeOptions_MaxDepth Unexecuted instantiation: decode.c:upb_DecodeOptions_MaxDepth |
107 | | |
108 | 0 | UPB_INLINE uint16_t upb_DecodeOptions_GetMaxDepth(uint32_t options) { |
109 | 0 | return options >> 16; |
110 | 0 | } Unexecuted instantiation: upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: load_balancer.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: rls.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: cluster.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: cluster.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: fault.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: fault.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: rbac.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: rbac.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: router.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: router.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: stateful_session.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: stateful_session.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_connection_manager.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_connection_manager.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: cookie.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: path_transformation.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: cookie.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: client_side_weighted_round_robin.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: pick_first.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: ring_hash.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: common.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: wrr_locality.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: path_transformation.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: rls_config.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: rls_config.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: status.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: typed_struct.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: status.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: discovery.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: discovery.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: lrs.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: lrs.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: listener.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: api_listener.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: listener_components.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: udp_listener_config.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: quic_config.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: accesslog.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_tracer.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: tls.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: common.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: secret.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: circuit_breaker.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: filter.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: outlier_detection.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: endpoint.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: endpoint_components.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: load_report.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: route.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: route_components.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: scoped_route.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: custom_tag.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: metadata.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: matcher.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: string.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: regex.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: checked.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: syntax.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: address.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: base.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: backoff.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: config_source.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: extension.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: grpc_service.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: health_check.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: event_service_config.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_uri.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: protocol.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: proxy_protocol.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: resolver.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: socket_option.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: substitution_format_string.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: udp_socket_config.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: authority.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: collection_entry.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: context_params.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: resource_locator.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: filter_state.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: path.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: value.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: number.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: deprecation.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: percent.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: range.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: semantic_version.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: migrate.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: security.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: sensitive.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: versioning.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: empty.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: struct.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: wrappers.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: any.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: validate.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: descriptor.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: duration.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: timestamp.upbdefs.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: csds.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: config_dump_shared.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: api_listener.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: listener.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: listener_components.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: quic_config.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: udp_listener_config.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: accesslog.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_tracer.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: secret.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: tls.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: circuit_breaker.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: filter.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: outlier_detection.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: endpoint.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: endpoint_components.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: load_report.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: route.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: route_components.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: scoped_route.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: custom_tag.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: metadata.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: matcher.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: regex.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: string.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: checked.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: syntax.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: address.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: backoff.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: base.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: config_source.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: event_service_config.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: extension.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: grpc_service.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: health_check.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http_uri.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: protocol.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: proxy_protocol.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: resolver.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: socket_option.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: substitution_format_string.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: udp_socket_config.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: authority.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: collection_entry.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: context_params.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: resource_locator.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: filter_state.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: node.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: number.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: path.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: struct.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: value.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: deprecation.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: http.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: percent.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: range.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: semantic_version.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: migrate.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: security.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: sensitive.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: versioning.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: encode.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: def_pool.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: def_builder.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: enum_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: enum_reserved_range.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: enum_value_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: field_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: file_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: message.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: message_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: extension_range.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: message_reserved_range.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: oneof_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: service_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: method_def.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: health.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: orca.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: orca_load_report.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: empty.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: wrappers.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: validate.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: descriptor.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: duration.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: timestamp.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: altscontext.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: handshaker.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: transport_security_common.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: any.upb.c:upb_DecodeOptions_GetMaxDepth Unexecuted instantiation: decode.c:upb_DecodeOptions_GetMaxDepth |
111 | | |
112 | | // Enforce an upper bound on recursion depth. |
113 | 0 | UPB_INLINE int upb_Decode_LimitDepth(uint32_t decode_options, uint32_t limit) { |
114 | 0 | uint32_t max_depth = upb_DecodeOptions_GetMaxDepth(decode_options); |
115 | 0 | if (max_depth > limit) max_depth = limit; |
116 | 0 | return upb_DecodeOptions_MaxDepth(max_depth) | (decode_options & 0xffff); |
117 | 0 | } Unexecuted instantiation: upb_Decode_LimitDepth Unexecuted instantiation: load_balancer.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: rls.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: cluster.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: cluster.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: fault.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: fault.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: rbac.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: rbac.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: router.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: router.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: stateful_session.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: stateful_session.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: http_connection_manager.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: http_connection_manager.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: cookie.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: path_transformation.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: cookie.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: client_side_weighted_round_robin.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: pick_first.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: ring_hash.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: common.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: wrr_locality.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: path_transformation.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: rls_config.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: rls_config.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: status.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: typed_struct.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: status.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: discovery.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: discovery.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: lrs.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: lrs.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: listener.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: api_listener.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: listener_components.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: udp_listener_config.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: quic_config.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: accesslog.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: http_tracer.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: tls.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: common.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: secret.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: circuit_breaker.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: filter.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: outlier_detection.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: endpoint.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: endpoint_components.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: load_report.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: route.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: route_components.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: scoped_route.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: custom_tag.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: metadata.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: matcher.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: string.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: regex.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: checked.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: syntax.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: address.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: base.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: backoff.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: config_source.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: extension.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: grpc_service.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: health_check.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: event_service_config.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: http_uri.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: protocol.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: proxy_protocol.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: resolver.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: socket_option.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: substitution_format_string.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: udp_socket_config.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: authority.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: collection_entry.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: context_params.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: resource_locator.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: filter_state.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: path.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: value.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: number.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: deprecation.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: http.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: percent.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: range.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: semantic_version.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: migrate.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: security.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: sensitive.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: versioning.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: empty.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: struct.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: wrappers.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: any.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: validate.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: descriptor.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: duration.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: timestamp.upbdefs.c:upb_Decode_LimitDepth Unexecuted instantiation: csds.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: config_dump_shared.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: api_listener.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: listener.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: listener_components.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: quic_config.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: udp_listener_config.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: accesslog.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: http_tracer.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: secret.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: tls.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: circuit_breaker.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: filter.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: outlier_detection.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: endpoint.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: endpoint_components.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: load_report.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: route.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: route_components.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: scoped_route.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: custom_tag.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: metadata.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: matcher.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: regex.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: string.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: checked.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: syntax.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: address.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: backoff.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: base.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: config_source.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: event_service_config.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: extension.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: grpc_service.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: health_check.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: http_uri.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: protocol.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: proxy_protocol.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: resolver.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: socket_option.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: substitution_format_string.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: udp_socket_config.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: authority.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: collection_entry.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: context_params.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: resource_locator.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: filter_state.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: node.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: number.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: path.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: struct.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: value.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: deprecation.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: http.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: percent.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: range.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: semantic_version.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: migrate.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: security.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: sensitive.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: versioning.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: encode.c:upb_Decode_LimitDepth Unexecuted instantiation: def_pool.c:upb_Decode_LimitDepth Unexecuted instantiation: def_builder.c:upb_Decode_LimitDepth Unexecuted instantiation: enum_def.c:upb_Decode_LimitDepth Unexecuted instantiation: enum_reserved_range.c:upb_Decode_LimitDepth Unexecuted instantiation: enum_value_def.c:upb_Decode_LimitDepth Unexecuted instantiation: field_def.c:upb_Decode_LimitDepth Unexecuted instantiation: file_def.c:upb_Decode_LimitDepth Unexecuted instantiation: message.c:upb_Decode_LimitDepth Unexecuted instantiation: message_def.c:upb_Decode_LimitDepth Unexecuted instantiation: extension_range.c:upb_Decode_LimitDepth Unexecuted instantiation: message_reserved_range.c:upb_Decode_LimitDepth Unexecuted instantiation: oneof_def.c:upb_Decode_LimitDepth Unexecuted instantiation: service_def.c:upb_Decode_LimitDepth Unexecuted instantiation: method_def.c:upb_Decode_LimitDepth Unexecuted instantiation: health.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: orca.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: orca_load_report.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: empty.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: wrappers.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: validate.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: descriptor.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: duration.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: timestamp.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: altscontext.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: handshaker.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: transport_security_common.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: any.upb.c:upb_Decode_LimitDepth Unexecuted instantiation: decode.c:upb_Decode_LimitDepth |
118 | | |
119 | | typedef enum { |
120 | | kUpb_DecodeStatus_Ok = 0, |
121 | | kUpb_DecodeStatus_Malformed = 1, // Wire format was corrupt |
122 | | kUpb_DecodeStatus_OutOfMemory = 2, // Arena alloc failed |
123 | | kUpb_DecodeStatus_BadUtf8 = 3, // String field had bad UTF-8 |
124 | | kUpb_DecodeStatus_MaxDepthExceeded = |
125 | | 4, // Exceeded upb_DecodeOptions_MaxDepth |
126 | | |
127 | | // kUpb_DecodeOption_CheckRequired failed (see above), but the parse otherwise |
128 | | // succeeded. |
129 | | kUpb_DecodeStatus_MissingRequired = 5, |
130 | | |
131 | | // Unlinked sub-message field was present, but |
132 | | // kUpb_DecodeOptions_ExperimentalAllowUnlinked was not specified in the list |
133 | | // of options. |
134 | | kUpb_DecodeStatus_UnlinkedSubMessage = 6, |
135 | | } upb_DecodeStatus; |
136 | | |
137 | | UPB_API upb_DecodeStatus upb_Decode(const char* buf, size_t size, |
138 | | upb_Message* msg, const upb_MiniTable* l, |
139 | | const upb_ExtensionRegistry* extreg, |
140 | | int options, upb_Arena* arena); |
141 | | |
142 | | #ifdef __cplusplus |
143 | | } /* extern "C" */ |
144 | | #endif |
145 | | |
146 | | #include "upb/port/undef.inc" |
147 | | |
148 | | #endif /* UPB_WIRE_DECODE_H_ */ |