/src/spicy/build/ci/fuzz/dns_Message_DNS.cc
Line | Count | Source |
1 | | // Begin of DNS (from "/src/spicy/spicy-dns/analyzer/analyzer.spicy") |
2 | | // Compiled by HILTI version 1.18.0-dev.47 |
3 | | |
4 | | #include <hilti/rt/compiler-setup.h> |
5 | | |
6 | | #include <spicy/rt/libspicy.h> |
7 | | #include <hilti/rt/libhilti.h> |
8 | | |
9 | | extern uint64_t hlt_internal_dns_Message_hlto_scope; |
10 | | |
11 | | namespace hlt_internal_dns_Message::type_info { namespace { |
12 | | extern const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a16x2b_x73_qr__0x3e_opcode__1__4x3e_aa__5x3e_tc__6x3e_rd__7x3e_ra__8x3e_z__9__11x3e_ad__10x3e_cd__11x3e_rcode__12__15x3e_x75_x28bit_orderx31spicy__BitOrder__MSB0_bitfieldx2a16_qr_0_0_opcode_1_4_aa_5_5_tc_6_6_rd_7_7_ra_8_8_z_9_11_ad_10_10_cd_11_11_rcode_12_15_x2b; |
13 | | extern const ::hilti::rt::TypeInfo _t_ti_tuple_uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___tuplex2auint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_x2b; |
14 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Header_namex2aDNS__Headerx2b; |
15 | | extern const ::hilti::rt::TypeInfo _t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b; |
16 | | extern const ::hilti::rt::TypeInfo _t_ti_hilti__RecoverableFailure_namex2ahilti__RecoverableFailurex2b; |
17 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__RDType_namex2aDNS__RDTypex2b; |
18 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__RRType_namex2aDNS__RRTypex2b; |
19 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__ResourceRecord_namex2aDNS__ResourceRecordx2b; |
20 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b; |
21 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Name_namex2aDNS__Namex2b; |
22 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataMX__value_refx2anamex2aDNS__RDataMXx2bx2b; |
23 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__RDataMX_namex2aDNS__RDataMXx2b; |
24 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataSOA__value_refx2anamex2aDNS__RDataSOAx2bx2b; |
25 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__RDataSOA_namex2aDNS__RDataSOAx2b; |
26 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataSRV__value_refx2anamex2aDNS__RDataSRVx2bx2b; |
27 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__RDataSRV_namex2aDNS__RDataSRVx2b; |
28 | | extern const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_CharacterString___vectorx2anamex2aDNS__CharacterStringx2bx2b; |
29 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_CharacterString__value_refx2anamex2aDNS__CharacterStringx2bx2b; |
30 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__CharacterString_namex2aDNS__CharacterStringx2b; |
31 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Question_namex2aDNS__Questionx2b; |
32 | | extern const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a16x2b_x73_offset__0__13x3e_x75_bitfieldx2a16_offset_0_13_x2b; |
33 | | extern const ::hilti::rt::TypeInfo _t_ti_tuple_uint_16___uint_16___tuplex2auint16_uint16_x2b; |
34 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Pointer_namex2aDNS__Pointerx2b; |
35 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Message_namex2aDNS__Messagex2b; |
36 | | extern const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_Question___vectorx2anamex2aDNS__Questionx2bx2b; |
37 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_Question__value_refx2anamex2aDNS__Questionx2bx2b; |
38 | | extern const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_ResourceRecord___vectorx2anamex2aDNS__ResourceRecordx2bx2b; |
39 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_ResourceRecord__value_refx2anamex2aDNS__ResourceRecordx2bx2b; |
40 | | extern const ::hilti::rt::TypeInfo _t_ti_optional_iterator_stream___optionalx2aiteratorx2astreamx2bx2b; |
41 | | extern const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a8x2b_x73_offset__0__5x3e_compressed__6__7x3e_x75_bitfieldx2a8_offset_0_5_compressed_6_7_x2b; |
42 | | extern const ::hilti::rt::TypeInfo _t_ti_tuple_uint_8___uint_8___uint_8___tuplex2auint8_uint8_uint8_x2b; |
43 | | extern const ::hilti::rt::TypeInfo _t_ti_DNS__Label_namex2aDNS__Labelx2b; |
44 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_Pointer__value_refx2anamex2aDNS__Pointerx2bx2b; |
45 | | extern const ::hilti::rt::TypeInfo _t_ti_value_ref_DNS__Message__value_refx2anamex2aDNS__Messagex2bx2b; |
46 | | extern const ::hilti::rt::TypeInfo _t_ti_strong_ref_const_DNS__Message__strong_refx2anamex2aDNS__Messagex2bx2b; |
47 | | } } |
48 | | |
49 | | namespace hlt_internal_dns_Message::DNS { |
50 | | struct Header; |
51 | | struct ResourceRecord; |
52 | | struct RDataSRV; |
53 | | struct RDataSOA; |
54 | | struct RDataMX; |
55 | | struct Question; |
56 | | struct Pointer; |
57 | | struct Name; |
58 | | struct Message; |
59 | | struct Label; |
60 | | struct CharacterString; |
61 | | struct Header : ::hilti::rt::trait::isStruct, ::hilti::rt::Controllable<Header> { |
62 | 8.86k | auto _t_self() { return ::hilti::rt::ValueReference<Header>::self(this); } |
63 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> id{}; |
64 | | ::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>> flags{}; |
65 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> qdcount{}; |
66 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> ancount{}; |
67 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> nscount{}; |
68 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> arcount{}; |
69 | | // ::hilti::rt::Bool rejected{}; |
70 | | void _t_on_0x25_done(); |
71 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
72 | | auto _t_parse_DNS__Header_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
73 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
74 | | Header(); |
75 | | Header(const Header&) = default; |
76 | 0 | Header(Header&&) = default; |
77 | | Header& operator=(const Header&) = default; |
78 | 2.96k | Header& operator=(Header&&) = default; |
79 | | explicit Header(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>> flags, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> qdcount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> ancount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> nscount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> arcount); |
80 | | |
81 | 0 | std::string __to_string() const { |
82 | 0 | return "["s + hilti::rt::to_string_for_print("$id=(optimized out)"_hs) + ", "s + "$flags=("s + ::hilti::rt::bitfield::detail::render(flags, &type_info::_t_ti_bitfieldx2a16x2b_x73_qr__0x3e_opcode__1__4x3e_aa__5x3e_tc__6x3e_rd__7x3e_ra__8x3e_z__9__11x3e_ad__10x3e_cd__11x3e_rcode__12__15x3e_x75_x28bit_orderx31spicy__BitOrder__MSB0_bitfieldx2a16_qr_0_0_opcode_1_4_aa_5_5_tc_6_6_rd_7_7_ra_8_8_z_9_11_ad_10_10_cd_11_11_rcode_12_15_x2b, false)+ ")" + ", "s + "$qdcount=" + hilti::rt::to_string(qdcount) + ", "s + "$ancount=" + hilti::rt::to_string(ancount) + ", "s + "$nscount=" + hilti::rt::to_string(nscount) + ", "s + "$arcount=" + hilti::rt::to_string(arcount) + ", "s + hilti::rt::to_string_for_print("$rejected=(optimized out)"_hs) + "]"; |
83 | 0 | } |
84 | | }; |
85 | | |
86 | | HILTI_RT_ENUM_TYPE(RDType, A = 1, NS = 2, MD = 3, MF = 4, CNAME = 5, SOA = 6, MB = 7, MG = 8, MR = 9, NULL_ = 10, WKS = 11, PTR = 12, HINFO = 13, MINFO = 14, MX = 15, TXT = 16, AAAA = 28, NBS = 32, SRV = 33, A6 = 38, EDNS = 41); |
87 | | HILTI_RT_ENUM_TYPE(RRType, ANSWER = 1, AUTH = 2, ADDL = 3); |
88 | | struct ResourceRecord : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<ResourceRecord> { |
89 | 5.05M | auto _t_self() { return ::hilti::rt::ValueReference<ResourceRecord>::self(this); } |
90 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> name{}; |
91 | | ::hilti::rt::Optional<DNS::RDType> ty{}; |
92 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> class_{}; |
93 | | // ::hilti::rt::Optional<::hilti::rt::Interval> ttl{}; |
94 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> rdlen{}; |
95 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> rname{}; |
96 | | // ::hilti::rt::Optional<::hilti::rt::Address> a{}; |
97 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<RDataMX>> mx{}; |
98 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<RDataSOA>> soa{}; |
99 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<RDataSRV>> srv{}; |
100 | | ::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<CharacterString>>> txt{}; |
101 | | // ::hilti::rt::Optional<::hilti::rt::Bytes> rdata{}; |
102 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
103 | | auto _t_parse_txt_2_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Vector<::hilti::rt::ValueReference<CharacterString>>& _t_dst) -> ::hilti::rt::stream::View; |
104 | | auto _t_parse_switch_5_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
105 | | auto _t_parse_DNS__ResourceRecord_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
106 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
107 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
108 | | DNS::RRType _t_p_rrtype; |
109 | | ResourceRecord(); |
110 | | ResourceRecord(const ResourceRecord&) = default; |
111 | 3.35M | ResourceRecord(ResourceRecord&&) = default; |
112 | 0 | ResourceRecord& operator=(const ResourceRecord&) = default; |
113 | | ResourceRecord& operator=(ResourceRecord&&) = default; |
114 | | explicit ResourceRecord(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> name, ::hilti::rt::Optional<::hilti::rt::Optional<DNS::RDType>> ty, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> rdlen, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> rname, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<RDataMX>>> mx, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<RDataSOA>>> soa, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<RDataSRV>>> srv, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<CharacterString>>>> txt); |
115 | | explicit ResourceRecord(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg, const DNS::RRType& _t_p_rrtype); |
116 | | |
117 | 0 | std::string __to_string() const { |
118 | 0 | return "["s + "$name=" + hilti::rt::to_string(name) + ", "s + "$ty=" + hilti::rt::to_string(ty) + ", "s + hilti::rt::to_string_for_print("$class_=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$ttl=(optimized out)"_hs) + ", "s + "$rdlen=" + hilti::rt::to_string(rdlen) + ", "s + "$rname=" + hilti::rt::to_string(rname) + ", "s + hilti::rt::to_string_for_print("$a=(optimized out)"_hs) + ", "s + "$mx=" + hilti::rt::to_string(mx) + ", "s + "$soa=" + hilti::rt::to_string(soa) + ", "s + "$srv=" + hilti::rt::to_string(srv) + ", "s + "$txt=" + hilti::rt::to_string(txt) + ", "s + hilti::rt::to_string_for_print("$rdata=(optimized out)"_hs) + "]"; |
119 | 0 | } |
120 | | }; |
121 | | |
122 | | struct RDataSRV : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<RDataSRV> { |
123 | 8.34k | auto _t_self() { return ::hilti::rt::ValueReference<RDataSRV>::self(this); } |
124 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> priority_{}; |
125 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> weight{}; |
126 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> port_{}; |
127 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> target{}; |
128 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
129 | | auto _t_parse_DNS__RDataSRV_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
130 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
131 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
132 | | RDataSRV(); |
133 | 0 | RDataSRV(const RDataSRV&) = default; |
134 | 0 | RDataSRV(RDataSRV&&) = default; |
135 | 0 | RDataSRV& operator=(const RDataSRV&) = default; |
136 | 4.17k | RDataSRV& operator=(RDataSRV&&) = default; |
137 | | explicit RDataSRV(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> target); |
138 | | explicit RDataSRV(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
139 | | |
140 | 0 | std::string __to_string() const { |
141 | 0 | return "["s + hilti::rt::to_string_for_print("$priority_=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$weight=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$port_=(optimized out)"_hs) + ", "s + "$target=" + hilti::rt::to_string(target) + "]"; |
142 | 0 | } |
143 | | }; |
144 | | |
145 | | struct RDataSOA : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<RDataSOA> { |
146 | 11.5k | auto _t_self() { return ::hilti::rt::ValueReference<RDataSOA>::self(this); } |
147 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> mname{}; |
148 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> rname{}; |
149 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint32_t>> serial{}; |
150 | | // ::hilti::rt::Optional<::hilti::rt::Interval> refresh{}; |
151 | | // ::hilti::rt::Optional<::hilti::rt::Interval> retry{}; |
152 | | // ::hilti::rt::Optional<::hilti::rt::Interval> expire{}; |
153 | | // ::hilti::rt::Optional<::hilti::rt::Interval> minimum{}; |
154 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
155 | | auto _t_parse_DNS__RDataSOA_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
156 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
157 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
158 | | RDataSOA(); |
159 | 0 | RDataSOA(const RDataSOA&) = default; |
160 | 0 | RDataSOA(RDataSOA&&) = default; |
161 | 0 | RDataSOA& operator=(const RDataSOA&) = default; |
162 | 5.79k | RDataSOA& operator=(RDataSOA&&) = default; |
163 | | explicit RDataSOA(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> mname, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> rname); |
164 | | explicit RDataSOA(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
165 | | |
166 | 0 | std::string __to_string() const { |
167 | 0 | return "["s + "$mname=" + hilti::rt::to_string(mname) + ", "s + "$rname=" + hilti::rt::to_string(rname) + ", "s + hilti::rt::to_string_for_print("$serial=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$refresh=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$retry=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$expire=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$minimum=(optimized out)"_hs) + "]"; |
168 | 0 | } |
169 | | }; |
170 | | |
171 | | struct RDataMX : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<RDataMX> { |
172 | 6.44k | auto _t_self() { return ::hilti::rt::ValueReference<RDataMX>::self(this); } |
173 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> preference{}; |
174 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> name{}; |
175 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
176 | | auto _t_parse_DNS__RDataMX_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
177 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
178 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
179 | | RDataMX(); |
180 | 0 | RDataMX(const RDataMX&) = default; |
181 | 0 | RDataMX(RDataMX&&) = default; |
182 | 0 | RDataMX& operator=(const RDataMX&) = default; |
183 | 3.22k | RDataMX& operator=(RDataMX&&) = default; |
184 | | explicit RDataMX(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> name); |
185 | | explicit RDataMX(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
186 | | |
187 | 0 | std::string __to_string() const { |
188 | 0 | return "["s + hilti::rt::to_string_for_print("$preference=(optimized out)"_hs) + ", "s + "$name=" + hilti::rt::to_string(name) + "]"; |
189 | 0 | } |
190 | | }; |
191 | | |
192 | | struct Question : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<Question> { |
193 | 1.64M | auto _t_self() { return ::hilti::rt::ValueReference<Question>::self(this); } |
194 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> qname{}; |
195 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> qtype{}; |
196 | | // ::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>> qclass{}; |
197 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
198 | | auto _t_parse_DNS__Question_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
199 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
200 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
201 | | Question(); |
202 | | Question(const Question&) = default; |
203 | 1.64M | Question(Question&&) = default; |
204 | 0 | Question& operator=(const Question&) = default; |
205 | | Question& operator=(Question&&) = default; |
206 | | explicit Question(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> qname); |
207 | | explicit Question(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
208 | | |
209 | 0 | std::string __to_string() const { |
210 | 0 | return "["s + "$qname=" + hilti::rt::to_string(qname) + ", "s + hilti::rt::to_string_for_print("$qtype=(optimized out)"_hs) + ", "s + hilti::rt::to_string_for_print("$qclass=(optimized out)"_hs) + "]"; |
211 | 0 | } |
212 | | }; |
213 | | |
214 | | struct Pointer : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<Pointer> { |
215 | 73.9k | auto _t_self() { return ::hilti::rt::ValueReference<Pointer>::self(this); } |
216 | | ::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>> len{}; |
217 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Name>> name{}; |
218 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
219 | | auto _t_parse_DNS__Pointer_8_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
220 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
221 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
222 | | ::hilti::rt::WeakReference<Label> _t_p_label{}; |
223 | | Pointer(); |
224 | 23.6k | Pointer(const Pointer&) = default; |
225 | 0 | Pointer(Pointer&&) = default; |
226 | 0 | Pointer& operator=(const Pointer&) = default; |
227 | 36.9k | Pointer& operator=(Pointer&&) = default; |
228 | | explicit Pointer(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>> len, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Name>>> name); |
229 | | explicit Pointer(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg, const ::hilti::rt::ValueReference<Label>& _t_p_label); |
230 | | |
231 | 0 | std::string __to_string() const { |
232 | 0 | return "["s + "$len=("s + ::hilti::rt::bitfield::detail::render(len, &type_info::_t_ti_bitfieldx2a16x2b_x73_offset__0__13x3e_x75_bitfieldx2a16_offset_0_13_x2b, false)+ ")" + ", "s + "$name=" + hilti::rt::to_string(name) + "]"; |
233 | 0 | } |
234 | | }; |
235 | | |
236 | | struct Name : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<Name> { |
237 | 7.70M | auto _t_self() { return ::hilti::rt::ValueReference<Name>::self(this); } |
238 | | ::hilti::rt::Bytes label{}; |
239 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
240 | | auto _t_parse__anon_7_7_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
241 | | auto _t_parse_DNS__Name_7_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
242 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
243 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
244 | | Name(); |
245 | 23.6k | Name(const Name&) = default; |
246 | 0 | Name(Name&&) = default; |
247 | 0 | Name& operator=(const Name&) = default; |
248 | 2.56M | Name& operator=(Name&&) = default; |
249 | | explicit Name(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Bytes> label); |
250 | | explicit Name(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
251 | | |
252 | 0 | std::string __to_string() const { |
253 | 0 | return "["s + "$label=" + hilti::rt::to_string(label) + "]"; |
254 | 0 | } |
255 | | }; |
256 | | |
257 | | struct Message : ::hilti::rt::trait::isStruct, ::hilti::rt::Controllable<Message> { |
258 | 12.8k | auto _t_self() { return ::hilti::rt::ValueReference<Message>::self(this); } |
259 | | ::hilti::rt::Optional<Header> header{}; |
260 | | ::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<Question>>> question{}; |
261 | | ::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>> answer{}; |
262 | | ::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>> authority{}; |
263 | | ::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>> additional{}; |
264 | | ::hilti::rt::stream::SafeConstIterator _t_begin{}; |
265 | | ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator> _t_position_update{}; |
266 | | inline static ::spicy::rt::Parser _t_parser{}; |
267 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
268 | | static auto parse1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View; |
269 | | static auto parse2(::hilti::rt::ValueReference<Message>& _t_unit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View; |
270 | | static auto parse3(::hilti::rt::ValueReference<::spicy::rt::ParsedUnit>& _t_gunit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View; |
271 | | auto _t_parse_question_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<Question>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
272 | | auto _t_parse_answer_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
273 | | auto _t_parse_authority_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
274 | | auto _t_parse_additional_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
275 | | auto _t_parse_DNS__Message_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
276 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
277 | | Message(); |
278 | | Message(const Message&) = default; |
279 | 5.92k | Message(Message&&) = default; |
280 | | Message& operator=(const Message&) = default; |
281 | | Message& operator=(Message&&) = default; |
282 | | explicit Message(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<Header>> header, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<Question>>>> question, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>>> answer, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>>> authority, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<ResourceRecord>>>> additional); |
283 | | |
284 | 0 | std::string __to_string() const { |
285 | 0 | return "["s + "$header=" + hilti::rt::to_string(header) + ", "s + "$question=" + hilti::rt::to_string(question) + ", "s + "$answer=" + hilti::rt::to_string(answer) + ", "s + "$authority=" + hilti::rt::to_string(authority) + ", "s + "$additional=" + hilti::rt::to_string(additional) + "]"; |
286 | 0 | } |
287 | | }; |
288 | | |
289 | | struct Label : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<Label> { |
290 | 11.7M | auto _t_self() { return ::hilti::rt::ValueReference<Label>::self(this); } |
291 | | ::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>> len{}; |
292 | | ::hilti::rt::Optional<::hilti::rt::Bytes> label{}; |
293 | | void _t_on_label(); |
294 | | ::hilti::rt::Optional<::hilti::rt::ValueReference<Pointer>> ptr{}; |
295 | | void _t_on_ptr(); |
296 | | ::hilti::rt::stream::SafeConstIterator _t_begin{}; |
297 | | ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator> _t_position_update{}; |
298 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
299 | | auto _t_parse_switch_11_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
300 | | auto _t_parse_DNS__Label_9_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>>; |
301 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
302 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
303 | | ::hilti::rt::WeakReference<Name> _t_p_name{}; |
304 | | Label(); |
305 | 2.93M | Label(const Label&) = default; |
306 | 5.90M | Label(Label&&) = default; |
307 | 0 | Label& operator=(const Label&) = default; |
308 | | Label& operator=(Label&&) = default; |
309 | | explicit Label(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>>> len, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bytes>> label, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<Pointer>>> ptr); |
310 | | explicit Label(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg, ::hilti::rt::ValueReference<Name>& _t_p_name); |
311 | | |
312 | 0 | std::string __to_string() const { |
313 | 0 | return "["s + "$len=("s + ::hilti::rt::bitfield::detail::render(len, &type_info::_t_ti_bitfieldx2a8x2b_x73_offset__0__5x3e_compressed__6__7x3e_x75_bitfieldx2a8_offset_0_5_compressed_6_7_x2b, false)+ ")" + ", "s + "$label=" + hilti::rt::to_string(label) + ", "s + "$ptr=" + hilti::rt::to_string(ptr) + "]"; |
314 | 0 | } |
315 | | }; |
316 | | |
317 | | struct CharacterString : ::hilti::rt::trait::isStruct, hilti::rt::trait::hasParameters, ::hilti::rt::Controllable<CharacterString> { |
318 | 4.63M | auto _t_self() { return ::hilti::rt::ValueReference<CharacterString>::self(this); } |
319 | | ::hilti::rt::Optional<::hilti::rt::integer::safe<uint8_t>> len{}; |
320 | | // ::hilti::rt::Optional<::hilti::rt::Bytes> data{}; |
321 | | auto _t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim) -> ::hilti::rt::stream::View; |
322 | | auto _t_parse_DNS__CharacterString_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim) -> ::hilti::rt::stream::View; |
323 | | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error{}; |
324 | | ::hilti::rt::WeakReference<Message> _t_p_msg{}; |
325 | | CharacterString(); |
326 | 0 | CharacterString(const CharacterString&) = default; |
327 | 4.63M | CharacterString(CharacterString&&) = default; |
328 | 0 | CharacterString& operator=(const CharacterString&) = default; |
329 | | CharacterString& operator=(CharacterString&&) = default; |
330 | | explicit CharacterString(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint8_t>>> len); |
331 | | explicit CharacterString(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<Message>& _t_p_msg); |
332 | | |
333 | 0 | std::string __to_string() const { |
334 | 0 | return "["s + "$len=" + hilti::rt::to_string(len) + ", "s + hilti::rt::to_string_for_print("$data=(optimized out)"_hs) + "]"; |
335 | 0 | } |
336 | | }; |
337 | | |
338 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25is_filter = ::hilti::rt::Bool{false}; |
339 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25supports_filters = ::hilti::rt::Bool{false}; |
340 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25supports_sinks = ::hilti::rt::Bool{false}; |
341 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25synchronization = ::hilti::rt::Bool{false}; |
342 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25uses_offset = ::hilti::rt::Bool{false}; |
343 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25uses_random_access = ::hilti::rt::Bool{false}; |
344 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25uses_stream = ::hilti::rt::Bool{false}; |
345 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40CharacterString0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
346 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25is_filter = ::hilti::rt::Bool{false}; |
347 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25supports_filters = ::hilti::rt::Bool{false}; |
348 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25supports_sinks = ::hilti::rt::Bool{false}; |
349 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25synchronization = ::hilti::rt::Bool{false}; |
350 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25uses_offset = ::hilti::rt::Bool{false}; |
351 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25uses_random_access = ::hilti::rt::Bool{false}; |
352 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25uses_stream = ::hilti::rt::Bool{false}; |
353 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Header0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
354 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25is_filter = ::hilti::rt::Bool{false}; |
355 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25supports_filters = ::hilti::rt::Bool{false}; |
356 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25supports_sinks = ::hilti::rt::Bool{false}; |
357 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25synchronization = ::hilti::rt::Bool{false}; |
358 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25uses_offset = ::hilti::rt::Bool{false}; |
359 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25uses_random_access = ::hilti::rt::Bool{true}; |
360 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25uses_stream = ::hilti::rt::Bool{false}; |
361 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Label0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
362 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25is_filter = ::hilti::rt::Bool{false}; |
363 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25supports_filters = ::hilti::rt::Bool{false}; |
364 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25supports_sinks = ::hilti::rt::Bool{false}; |
365 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25synchronization = ::hilti::rt::Bool{false}; |
366 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25uses_offset = ::hilti::rt::Bool{false}; |
367 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25uses_random_access = ::hilti::rt::Bool{true}; |
368 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25uses_stream = ::hilti::rt::Bool{false}; |
369 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Message0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
370 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25is_filter = ::hilti::rt::Bool{false}; |
371 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25supports_filters = ::hilti::rt::Bool{false}; |
372 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25supports_sinks = ::hilti::rt::Bool{false}; |
373 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25synchronization = ::hilti::rt::Bool{false}; |
374 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25uses_offset = ::hilti::rt::Bool{false}; |
375 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25uses_random_access = ::hilti::rt::Bool{false}; |
376 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25uses_stream = ::hilti::rt::Bool{false}; |
377 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Name0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
378 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25is_filter = ::hilti::rt::Bool{false}; |
379 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25supports_filters = ::hilti::rt::Bool{false}; |
380 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25supports_sinks = ::hilti::rt::Bool{false}; |
381 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25synchronization = ::hilti::rt::Bool{false}; |
382 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25uses_offset = ::hilti::rt::Bool{false}; |
383 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25uses_random_access = ::hilti::rt::Bool{false}; |
384 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25uses_stream = ::hilti::rt::Bool{false}; |
385 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Pointer0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
386 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25is_filter = ::hilti::rt::Bool{false}; |
387 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25supports_filters = ::hilti::rt::Bool{false}; |
388 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25supports_sinks = ::hilti::rt::Bool{false}; |
389 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25synchronization = ::hilti::rt::Bool{false}; |
390 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25uses_offset = ::hilti::rt::Bool{false}; |
391 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25uses_random_access = ::hilti::rt::Bool{false}; |
392 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25uses_stream = ::hilti::rt::Bool{false}; |
393 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40Question0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
394 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25is_filter = ::hilti::rt::Bool{false}; |
395 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25supports_filters = ::hilti::rt::Bool{false}; |
396 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25supports_sinks = ::hilti::rt::Bool{false}; |
397 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25synchronization = ::hilti::rt::Bool{false}; |
398 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25uses_offset = ::hilti::rt::Bool{false}; |
399 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25uses_random_access = ::hilti::rt::Bool{false}; |
400 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25uses_stream = ::hilti::rt::Bool{false}; |
401 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataMX0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
402 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25is_filter = ::hilti::rt::Bool{false}; |
403 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25supports_filters = ::hilti::rt::Bool{false}; |
404 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25supports_sinks = ::hilti::rt::Bool{false}; |
405 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25synchronization = ::hilti::rt::Bool{false}; |
406 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25uses_offset = ::hilti::rt::Bool{false}; |
407 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25uses_random_access = ::hilti::rt::Bool{false}; |
408 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25uses_stream = ::hilti::rt::Bool{false}; |
409 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSOA0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
410 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25is_filter = ::hilti::rt::Bool{false}; |
411 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25supports_filters = ::hilti::rt::Bool{false}; |
412 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25supports_sinks = ::hilti::rt::Bool{false}; |
413 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25synchronization = ::hilti::rt::Bool{false}; |
414 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25uses_offset = ::hilti::rt::Bool{false}; |
415 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25uses_random_access = ::hilti::rt::Bool{false}; |
416 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25uses_stream = ::hilti::rt::Bool{false}; |
417 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40RDataSRV0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
418 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25is_filter = ::hilti::rt::Bool{false}; |
419 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25supports_filters = ::hilti::rt::Bool{false}; |
420 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25supports_sinks = ::hilti::rt::Bool{false}; |
421 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25synchronization = ::hilti::rt::Bool{false}; |
422 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25uses_offset = ::hilti::rt::Bool{false}; |
423 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25uses_random_access = ::hilti::rt::Bool{false}; |
424 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25uses_stream = ::hilti::rt::Bool{false}; |
425 | | const ::hilti::rt::Bool _t_feat0x25DNS0x400x40ResourceRecord0x25uses_sync_advance = ::hilti::rt::Bool{false}; |
426 | | } |
427 | | |
428 | | namespace hlt_dns_Message::DNS::Message { |
429 | | using Type = hlt_internal_dns_Message::DNS::Message; |
430 | | } |
431 | | |
432 | | namespace hlt_internal_dns_Message::DNS { |
433 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Header& x) -> std::ostream&; |
434 | | extern void _t_hook_Header__t_on_0x25_done(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Header>& _t_self); |
435 | 5.92k | Header::Header() { |
436 | 5.92k | } |
437 | | |
438 | 0 | Header::Header(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>> flags, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> qdcount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> ancount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> nscount, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> arcount) : Header() { |
439 | 0 | if ( flags ) this->flags = std::move(*flags); |
440 | 0 | if ( qdcount ) this->qdcount = std::move(*qdcount); |
441 | 0 | if ( ancount ) this->ancount = std::move(*ancount); |
442 | 0 | if ( nscount ) this->nscount = std::move(*nscount); |
443 | 0 | if ( arcount ) this->arcount = std::move(*arcount); |
444 | 0 | } |
445 | | |
446 | | |
447 | | } |
448 | | |
449 | | namespace hilti::rt::detail::adl { |
450 | | inline auto to_string(hlt_internal_dns_Message::DNS::RDType x, adl::tag) -> std::string; |
451 | | } |
452 | | |
453 | | namespace hlt_internal_dns_Message::DNS { |
454 | | inline auto operator<<(std::ostream& o, RDType x) -> std::ostream&; |
455 | | } |
456 | | |
457 | | namespace hilti::rt::detail::adl { |
458 | | inline auto to_string(hlt_internal_dns_Message::DNS::RRType x, adl::tag) -> std::string; |
459 | | } |
460 | | |
461 | | namespace hlt_internal_dns_Message::DNS { |
462 | | inline auto operator<<(std::ostream& o, RRType x) -> std::ostream&; |
463 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::ResourceRecord& x) -> std::ostream&; |
464 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Message& x) -> std::ostream&; |
465 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Name& x) -> std::ostream&; |
466 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataMX& x) -> std::ostream&; |
467 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataSOA& x) -> std::ostream&; |
468 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataSRV& x) -> std::ostream&; |
469 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::CharacterString& x) -> std::ostream&; |
470 | 0 | ResourceRecord::ResourceRecord() { |
471 | 0 | _t_p_rrtype = DNS::RRType::Undef; |
472 | 0 | } |
473 | | |
474 | 1.67M | ResourceRecord::ResourceRecord(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg, const DNS::RRType& _t_p_rrtype) : _t_p_msg(_t_p_msg), _t_p_rrtype(_t_p_rrtype) { |
475 | 1.67M | } |
476 | | |
477 | 0 | ResourceRecord::ResourceRecord(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> name, ::hilti::rt::Optional<::hilti::rt::Optional<DNS::RDType>> ty, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint16_t>>> rdlen, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> rname, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataMX>>> mx, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSOA>>> soa, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSRV>>> srv, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>>> txt) : ResourceRecord() { |
478 | 0 | if ( name ) this->name = std::move(*name); |
479 | 0 | if ( ty ) this->ty = std::move(*ty); |
480 | 0 | if ( rdlen ) this->rdlen = std::move(*rdlen); |
481 | 0 | if ( rname ) this->rname = std::move(*rname); |
482 | 0 | if ( mx ) this->mx = std::move(*mx); |
483 | 0 | if ( soa ) this->soa = std::move(*soa); |
484 | 0 | if ( srv ) this->srv = std::move(*srv); |
485 | 0 | if ( txt ) this->txt = std::move(*txt); |
486 | 0 | } |
487 | | |
488 | | |
489 | 4.17k | RDataSRV::RDataSRV() { |
490 | 4.17k | } |
491 | | |
492 | 4.17k | RDataSRV::RDataSRV(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
493 | 4.17k | } |
494 | | |
495 | 0 | RDataSRV::RDataSRV(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> target) : RDataSRV() { |
496 | 0 | if ( target ) this->target = std::move(*target); |
497 | 0 | } |
498 | | |
499 | | |
500 | 5.79k | RDataSOA::RDataSOA() { |
501 | 5.79k | } |
502 | | |
503 | 5.79k | RDataSOA::RDataSOA(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
504 | 5.79k | } |
505 | | |
506 | 0 | RDataSOA::RDataSOA(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> mname, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> rname) : RDataSOA() { |
507 | 0 | if ( mname ) this->mname = std::move(*mname); |
508 | 0 | if ( rname ) this->rname = std::move(*rname); |
509 | 0 | } |
510 | | |
511 | | |
512 | 3.22k | RDataMX::RDataMX() { |
513 | 3.22k | } |
514 | | |
515 | 3.22k | RDataMX::RDataMX(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
516 | 3.22k | } |
517 | | |
518 | 0 | RDataMX::RDataMX(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> name) : RDataMX() { |
519 | 0 | if ( name ) this->name = std::move(*name); |
520 | 0 | } |
521 | | |
522 | | |
523 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Question& x) -> std::ostream&; |
524 | 0 | Question::Question() { |
525 | 0 | } |
526 | | |
527 | 822k | Question::Question(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
528 | 822k | } |
529 | | |
530 | 0 | Question::Question(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> qname) : Question() { |
531 | 0 | if ( qname ) this->qname = std::move(*qname); |
532 | 0 | } |
533 | | |
534 | | |
535 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Pointer& x) -> std::ostream&; |
536 | | extern auto operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Label& x) -> std::ostream&; |
537 | 36.9k | Pointer::Pointer() { |
538 | 36.9k | } |
539 | | |
540 | 36.9k | Pointer::Pointer(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label>& _t_p_label) : _t_p_msg(_t_p_msg), _t_p_label(_t_p_label) { |
541 | 36.9k | } |
542 | | |
543 | 0 | Pointer::Pointer(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>> len, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>> name) : Pointer() { |
544 | 0 | if ( len ) this->len = std::move(*len); |
545 | 0 | if ( name ) this->name = std::move(*name); |
546 | 0 | } |
547 | | |
548 | | |
549 | 2.56M | Name::Name() { |
550 | 2.56M | } |
551 | | |
552 | 2.56M | Name::Name(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
553 | 2.56M | label = ""_b; |
554 | 2.56M | } |
555 | | |
556 | 0 | Name::Name(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Bytes> label) : Name() { |
557 | 0 | if ( label ) this->label = std::move(*label); |
558 | 0 | } |
559 | | |
560 | | |
561 | 2.96k | Message::Message() { |
562 | 2.96k | } |
563 | | |
564 | 0 | Message::Message(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<hlt_internal_dns_Message::DNS::Header>> header, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>>> question, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>> answer, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>> authority, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>> additional) : Message() { |
565 | 0 | if ( header ) this->header = std::move(*header); |
566 | 0 | if ( question ) this->question = std::move(*question); |
567 | 0 | if ( answer ) this->answer = std::move(*answer); |
568 | 0 | if ( authority ) this->authority = std::move(*authority); |
569 | 0 | if ( additional ) this->additional = std::move(*additional); |
570 | 0 | } |
571 | | |
572 | | |
573 | | extern void _t_hook_Label__t_on_label(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label>& _t_self); |
574 | | extern void _t_hook_Label__t_on_ptr(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label>& _t_self); |
575 | 0 | Label::Label() { |
576 | 0 | } |
577 | | |
578 | 2.95M | Label::Label(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg, ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>& _t_p_name) : _t_p_msg(_t_p_msg), _t_p_name(_t_p_name) { |
579 | 2.95M | } |
580 | | |
581 | 0 | Label::Label(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>>> len, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::Bytes>> label, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Pointer>>> ptr) : Label() { |
582 | 0 | if ( len ) this->len = std::move(*len); |
583 | 0 | if ( label ) this->label = std::move(*label); |
584 | 0 | if ( ptr ) this->ptr = std::move(*ptr); |
585 | 0 | } |
586 | | |
587 | | |
588 | 0 | CharacterString::CharacterString() { |
589 | 0 | } |
590 | | |
591 | 2.31M | CharacterString::CharacterString(::hilti::rt::struct_::tag::Parameters, const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_p_msg) : _t_p_msg(_t_p_msg) { |
592 | 2.31M | } |
593 | | |
594 | 0 | CharacterString::CharacterString(::hilti::rt::struct_::tag::Inits, ::hilti::rt::Optional<::hilti::rt::Optional<::hilti::rt::integer::safe<uint8_t>>> len) : CharacterString() { |
595 | 0 | if ( len ) this->len = std::move(*len); |
596 | 0 | } |
597 | | |
598 | | |
599 | | extern void _t_hook_Header__t_on_0x25_done_17022904905284755206(::hilti::rt::ValueReference<Header>& _t_self); |
600 | | extern void _t_hook_Header__t_on_0x25_done(::hilti::rt::ValueReference<Header>& _t_self); |
601 | | extern void _t_hook_Header__t_on_0x25_done_17022904905284755206(::hilti::rt::ValueReference<Header>& _t_self); |
602 | | static void assert_label_len(const ::hilti::rt::Bytes& labels); |
603 | | extern void _t_hook_Label__t_on_label_751145481021401729(::hilti::rt::ValueReference<Label>& _t_self); |
604 | | extern void _t_hook_Label__t_on_label(::hilti::rt::ValueReference<Label>& _t_self); |
605 | | extern void _t_hook_Label__t_on_label_751145481021401729(::hilti::rt::ValueReference<Label>& _t_self); |
606 | | extern void _t_hook_Label__t_on_ptr_7802471963454539575(::hilti::rt::ValueReference<Label>& _t_self); |
607 | | extern void _t_hook_Label__t_on_ptr(::hilti::rt::ValueReference<Label>& _t_self); |
608 | | extern void _t_hook_Label__t_on_ptr_7802471963454539575(::hilti::rt::ValueReference<Label>& _t_self); |
609 | | } |
610 | | |
611 | | namespace hlt_dns_Message::DNS::Message { |
612 | | auto parse1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable; |
613 | | auto parse2(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_unit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable; |
614 | | auto parse3(::hilti::rt::ValueReference<::spicy::rt::ParsedUnit>& _t_gunit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable; |
615 | | } |
616 | | |
617 | | namespace hlt_internal_dns_Message::DNS { |
618 | | extern void _t_register_DNS_CharacterString(); |
619 | | extern void _t_register_DNS_Header(); |
620 | | extern void _t_register_DNS_Label(); |
621 | | extern void _t_register_DNS_Message(); |
622 | | extern void _t_register_DNS_Name(); |
623 | | extern void _t_register_DNS_Pointer(); |
624 | | extern void _t_register_DNS_Question(); |
625 | | extern void _t_register_DNS_RDataMX(); |
626 | | extern void _t_register_DNS_RDataSOA(); |
627 | | extern void _t_register_DNS_RDataSRV(); |
628 | | extern void _t_register_DNS_ResourceRecord(); |
629 | | extern void _t_init_module(); |
630 | | extern void _t_register_module(); |
631 | | } |
632 | | |
633 | | namespace hlt_internal_dns_Message::type_info { namespace { |
634 | 0 | const ::hilti::rt::TypeInfo _t_ti_tuple_uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___tuplex2auint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_x2b = { {}, "tuple<uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>, uint<16>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>*>(self)); }, new ::hilti::rt::type_info::Tuple(std::vector<::hilti::rt::type_info::tuple::Element>({::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<0>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<1>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<2>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<3>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<4>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<5>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<6>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<7>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<8>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<9>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<10>() }})) }; |
635 | 0 | const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a16x2b_x73_qr__0x3e_opcode__1__4x3e_aa__5x3e_tc__6x3e_rd__7x3e_ra__8x3e_z__9__11x3e_ad__10x3e_cd__11x3e_rcode__12__15x3e_x75_x28bit_orderx31spicy__BitOrder__MSB0_bitfieldx2a16_qr_0_0_opcode_1_4_aa_5_5_tc_6_6_rd_7_7_ra_8_8_z_9_11_ad_10_10_cd_11_11_rcode_12_15_x2b = { {}, "bitfield(16) { qr: 0; opcode: 1..4; aa: 5; tc: 6; rd: 7; ra: 8; z: 9..11; ad: 10; cd: 11; rcode: 12..15; } &bit-order=spicy::BitOrder::MSB0", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>*>(self)); }, new ::hilti::rt::type_info::Bitfield(16, std::vector<::hilti::rt::type_info::bitfield::Bits>({::hilti::rt::type_info::bitfield::Bits{ "qr", 0, 0, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "opcode", 1, 4, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "aa", 5, 5, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "tc", 6, 6, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "rd", 7, 7, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "ra", 8, 8, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "z", 9, 11, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "ad", 10, 10, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "cd", 11, 11, &::hilti::rt::type_info::uint16 }, ::hilti::rt::type_info::bitfield::Bits{ "rcode", 12, 15, &::hilti::rt::type_info::uint16 }}), &type_info::_t_ti_tuple_uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___uint_16___tuplex2auint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_uint16_x2b) }; |
636 | 0 | const ::hilti::rt::TypeInfo _t_ti_hilti__RecoverableFailure_namex2ahilti__RecoverableFailurex2b = { "hilti::RecoverableFailure", "hilti::RecoverableFailure", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::RecoverableFailure*>(self)); }, new ::hilti::rt::type_info::Exception() }; |
637 | 0 | const ::hilti::rt::TypeInfo _t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b = { {}, "optional<spicy::RecoverableFailure>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>*>(self)); }, new ::hilti::rt::type_info::Optional(&type_info::_t_ti_hilti__RecoverableFailure_namex2ahilti__RecoverableFailurex2b, ::hilti::rt::type_info::Optional::accessor<::hilti::rt::RecoverableFailure>()) }; |
638 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Header_namex2aDNS__Headerx2b = { "DNS::Header", "DNS::Header", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Header*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "id", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "flags", &type_info::_t_ti_bitfieldx2a16x2b_x73_qr__0x3e_opcode__1__4x3e_aa__5x3e_tc__6x3e_rd__7x3e_ra__8x3e_z__9__11x3e_ad__10x3e_cd__11x3e_rcode__12__15x3e_x75_x28bit_orderx31spicy__BitOrder__MSB0_bitfieldx2a16_qr_0_0_opcode_1_4_aa_5_5_tc_6_6_rd_7_7_ra_8_8_z_9_11_ad_10_10_cd_11_11_rcode_12_15_x2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, flags)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>() }, ::hilti::rt::type_info::struct_::Field{ "qdcount", &::hilti::rt::type_info::uint16, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, qdcount)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint16_t>>() }, ::hilti::rt::type_info::struct_::Field{ "ancount", &::hilti::rt::type_info::uint16, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, ancount)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint16_t>>() }, ::hilti::rt::type_info::struct_::Field{ "nscount", &::hilti::rt::type_info::uint16, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, nscount)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint16_t>>() }, ::hilti::rt::type_info::struct_::Field{ "arcount", &::hilti::rt::type_info::uint16, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, arcount)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint16_t>>() }, ::hilti::rt::type_info::struct_::Field{ "rejected", &::hilti::rt::type_info::bool_, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Header, _t_error)), true, false, true }})) }; |
639 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__RDType_namex2aDNS__RDTypex2b = { "DNS::RDType", "DNS::RDType", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const DNS::RDType*>(self)); }, new ::hilti::rt::type_info::Enum(std::vector<::hilti::rt::type_info::enum_::Label>({::hilti::rt::type_info::enum_::Label{ "A", 1 }, ::hilti::rt::type_info::enum_::Label{ "NS", 2 }, ::hilti::rt::type_info::enum_::Label{ "MD", 3 }, ::hilti::rt::type_info::enum_::Label{ "MF", 4 }, ::hilti::rt::type_info::enum_::Label{ "CNAME", 5 }, ::hilti::rt::type_info::enum_::Label{ "SOA", 6 }, ::hilti::rt::type_info::enum_::Label{ "MB", 7 }, ::hilti::rt::type_info::enum_::Label{ "MG", 8 }, ::hilti::rt::type_info::enum_::Label{ "MR", 9 }, ::hilti::rt::type_info::enum_::Label{ "NULL_", 10 }, ::hilti::rt::type_info::enum_::Label{ "WKS", 11 }, ::hilti::rt::type_info::enum_::Label{ "PTR", 12 }, ::hilti::rt::type_info::enum_::Label{ "HINFO", 13 }, ::hilti::rt::type_info::enum_::Label{ "MINFO", 14 }, ::hilti::rt::type_info::enum_::Label{ "MX", 15 }, ::hilti::rt::type_info::enum_::Label{ "TXT", 16 }, ::hilti::rt::type_info::enum_::Label{ "AAAA", 28 }, ::hilti::rt::type_info::enum_::Label{ "NBS", 32 }, ::hilti::rt::type_info::enum_::Label{ "SRV", 33 }, ::hilti::rt::type_info::enum_::Label{ "A6", 38 }, ::hilti::rt::type_info::enum_::Label{ "EDNS", 41 }, ::hilti::rt::type_info::enum_::Label{ "Undef", -1 }})) }; |
640 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__RRType_namex2aDNS__RRTypex2b = { "DNS::RRType", "DNS::RRType", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const DNS::RRType*>(self)); }, new ::hilti::rt::type_info::Enum(std::vector<::hilti::rt::type_info::enum_::Label>({::hilti::rt::type_info::enum_::Label{ "ANSWER", 1 }, ::hilti::rt::type_info::enum_::Label{ "AUTH", 2 }, ::hilti::rt::type_info::enum_::Label{ "ADDL", 3 }, ::hilti::rt::type_info::enum_::Label{ "Undef", -1 }})) }; |
641 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Name_namex2aDNS__Namex2b = { "DNS::Name", "DNS::Name", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Name*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "label", &::hilti::rt::type_info::bytes, static_cast<std::ptrdiff_t>(offsetof(DNS::Name, label)), false, false, true }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Name, _t_error)), true, false, true }})) }; |
642 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b = { {}, "value_ref<Name>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__Name_namex2aDNS__Namex2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::Name>()) }; |
643 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__RDataMX_namex2aDNS__RDataMXx2b = { "DNS::RDataMX", "DNS::RDataMX", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::RDataMX*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "preference", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "name", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataMX, name)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataMX, _t_error)), true, false, true }})) }; |
644 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataMX__value_refx2anamex2aDNS__RDataMXx2bx2b = { {}, "value_ref<RDataMX>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataMX>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__RDataMX_namex2aDNS__RDataMXx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::RDataMX>()) }; |
645 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__RDataSOA_namex2aDNS__RDataSOAx2b = { "DNS::RDataSOA", "DNS::RDataSOA", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::RDataSOA*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "mname", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataSOA, mname)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "rname", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataSOA, rname)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "serial", &::hilti::rt::type_info::uint32, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "refresh", &::hilti::rt::type_info::interval, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "retry", &::hilti::rt::type_info::interval, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "expire", &::hilti::rt::type_info::interval, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "minimum", &::hilti::rt::type_info::interval, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataSOA, _t_error)), true, false, true }})) }; |
646 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataSOA__value_refx2anamex2aDNS__RDataSOAx2bx2b = { {}, "value_ref<RDataSOA>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSOA>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__RDataSOA_namex2aDNS__RDataSOAx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::RDataSOA>()) }; |
647 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__RDataSRV_namex2aDNS__RDataSRVx2b = { "DNS::RDataSRV", "DNS::RDataSRV", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::RDataSRV*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "priority_", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "weight", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "port_", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "target", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataSRV, target)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::RDataSRV, _t_error)), true, false, true }})) }; |
648 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_RDataSRV__value_refx2anamex2aDNS__RDataSRVx2bx2b = { {}, "value_ref<RDataSRV>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSRV>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__RDataSRV_namex2aDNS__RDataSRVx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::RDataSRV>()) }; |
649 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__CharacterString_namex2aDNS__CharacterStringx2b = { "DNS::CharacterString", "DNS::CharacterString", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::CharacterString*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "len", &::hilti::rt::type_info::uint8, static_cast<std::ptrdiff_t>(offsetof(DNS::CharacterString, len)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint8_t>>() }, ::hilti::rt::type_info::struct_::Field{ "data", &::hilti::rt::type_info::bytes, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::CharacterString, _t_error)), true, false, true }})) }; |
650 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_CharacterString__value_refx2anamex2aDNS__CharacterStringx2bx2b = { {}, "value_ref<CharacterString>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__CharacterString_namex2aDNS__CharacterStringx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::CharacterString>()) }; |
651 | 0 | const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_CharacterString___vectorx2anamex2aDNS__CharacterStringx2bx2b = { {}, "vector<value_ref<CharacterString>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>*>(self)); }, new ::hilti::rt::type_info::Vector(&type_info::_t_ti_value_ref_CharacterString__value_refx2anamex2aDNS__CharacterStringx2bx2b, ::hilti::rt::type_info::Vector::accessor<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>()) }; |
652 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__ResourceRecord_namex2aDNS__ResourceRecordx2b = { "DNS::ResourceRecord", "DNS::ResourceRecord", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::ResourceRecord*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "name", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, name)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "ty", &type_info::_t_ti_DNS__RDType_namex2aDNS__RDTypex2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, ty)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<DNS::RDType>() }, ::hilti::rt::type_info::struct_::Field{ "class", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "ttl", &::hilti::rt::type_info::interval, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "rdlen", &::hilti::rt::type_info::uint16, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, rdlen)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::integer::safe<uint16_t>>() }, ::hilti::rt::type_info::struct_::Field{ "rname", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, rname)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "a", &::hilti::rt::type_info::address, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "mx", &type_info::_t_ti_value_ref_RDataMX__value_refx2anamex2aDNS__RDataMXx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, mx)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataMX>>() }, ::hilti::rt::type_info::struct_::Field{ "soa", &type_info::_t_ti_value_ref_RDataSOA__value_refx2anamex2aDNS__RDataSOAx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, soa)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSOA>>() }, ::hilti::rt::type_info::struct_::Field{ "srv", &type_info::_t_ti_value_ref_RDataSRV__value_refx2anamex2aDNS__RDataSRVx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, srv)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::RDataSRV>>() }, ::hilti::rt::type_info::struct_::Field{ "txt", &type_info::_t_ti_vector_value_ref_CharacterString___vectorx2anamex2aDNS__CharacterStringx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, txt)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>>() }, ::hilti::rt::type_info::struct_::Field{ "rdata", &::hilti::rt::type_info::bytes, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::ResourceRecord, _t_error)), true, false, true }})) }; |
653 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Question_namex2aDNS__Questionx2b = { "DNS::Question", "DNS::Question", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Question*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "qname", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Question, qname)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "qtype", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "qclass", &::hilti::rt::type_info::uint16, std::ptrdiff_t{-1}, false, false, false }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Question, _t_error)), true, false, true }})) }; |
654 | 0 | const ::hilti::rt::TypeInfo _t_ti_tuple_uint_16___uint_16___tuplex2auint16_uint16_x2b = { {}, "tuple<uint<16>, uint<16>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>*>(self)); }, new ::hilti::rt::type_info::Tuple(std::vector<::hilti::rt::type_info::tuple::Element>({::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<0>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint16, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>::elementOffset<1>() }})) }; |
655 | 0 | const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a16x2b_x73_offset__0__13x3e_x75_bitfieldx2a16_offset_0_13_x2b = { {}, "bitfield(16) { offset: 0..13; }", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>*>(self)); }, new ::hilti::rt::type_info::Bitfield(16, std::vector<::hilti::rt::type_info::bitfield::Bits>({::hilti::rt::type_info::bitfield::Bits{ "offset", 0, 13, &::hilti::rt::type_info::uint16 }}), &type_info::_t_ti_tuple_uint_16___uint_16___tuplex2auint16_uint16_x2b) }; |
656 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Pointer_namex2aDNS__Pointerx2b = { "DNS::Pointer", "DNS::Pointer", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Pointer*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "len", &type_info::_t_ti_bitfieldx2a16x2b_x73_offset__0__13x3e_x75_bitfieldx2a16_offset_0_13_x2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Pointer, len)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::integer::safe<uint16_t>>>() }, ::hilti::rt::type_info::struct_::Field{ "name", &type_info::_t_ti_value_ref_Name__value_refx2anamex2aDNS__Namex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Pointer, name)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Name>>() }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Pointer, _t_error)), true, false, true }})) }; |
657 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_Question__value_refx2anamex2aDNS__Questionx2bx2b = { {}, "value_ref<Question>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__Question_namex2aDNS__Questionx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::Question>()) }; |
658 | 0 | const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_Question___vectorx2anamex2aDNS__Questionx2bx2b = { {}, "vector<value_ref<Question>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>*>(self)); }, new ::hilti::rt::type_info::Vector(&type_info::_t_ti_value_ref_Question__value_refx2anamex2aDNS__Questionx2bx2b, ::hilti::rt::type_info::Vector::accessor<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>()) }; |
659 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_ResourceRecord__value_refx2anamex2aDNS__ResourceRecordx2bx2b = { {}, "value_ref<ResourceRecord>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__ResourceRecord_namex2aDNS__ResourceRecordx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::ResourceRecord>()) }; |
660 | 0 | const ::hilti::rt::TypeInfo _t_ti_vector_value_ref_ResourceRecord___vectorx2anamex2aDNS__ResourceRecordx2bx2b = { {}, "vector<value_ref<ResourceRecord>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>*>(self)); }, new ::hilti::rt::type_info::Vector(&type_info::_t_ti_value_ref_ResourceRecord__value_refx2anamex2aDNS__ResourceRecordx2bx2b, ::hilti::rt::type_info::Vector::accessor<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>()) }; |
661 | 0 | const ::hilti::rt::TypeInfo _t_ti_optional_iterator_stream___optionalx2aiteratorx2astreamx2bx2b = { {}, "optional<iterator<stream>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>*>(self)); }, new ::hilti::rt::type_info::Optional(&::hilti::rt::type_info::stream_iterator, ::hilti::rt::type_info::Optional::accessor<::hilti::rt::stream::SafeConstIterator>()) }; |
662 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Message_namex2aDNS__Messagex2b = { "DNS::Message", "DNS::Message", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Message*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "header", &type_info::_t_ti_DNS__Header_namex2aDNS__Headerx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, header)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<hlt_internal_dns_Message::DNS::Header>() }, ::hilti::rt::type_info::struct_::Field{ "question", &type_info::_t_ti_vector_value_ref_Question___vectorx2anamex2aDNS__Questionx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, question)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>>() }, ::hilti::rt::type_info::struct_::Field{ "answer", &type_info::_t_ti_vector_value_ref_ResourceRecord___vectorx2anamex2aDNS__ResourceRecordx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, answer)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>() }, ::hilti::rt::type_info::struct_::Field{ "authority", &type_info::_t_ti_vector_value_ref_ResourceRecord___vectorx2anamex2aDNS__ResourceRecordx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, authority)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>() }, ::hilti::rt::type_info::struct_::Field{ "additional", &type_info::_t_ti_vector_value_ref_ResourceRecord___vectorx2anamex2aDNS__ResourceRecordx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, additional)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>>() }, ::hilti::rt::type_info::struct_::Field{ "_t_begin", &::hilti::rt::type_info::stream_iterator, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, _t_begin)), true, false, true }, ::hilti::rt::type_info::struct_::Field{ "_t_position_update", &type_info::_t_ti_optional_iterator_stream___optionalx2aiteratorx2astreamx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, _t_position_update)), true, false, true }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Message, _t_error)), true, false, true }})) }; |
663 | 0 | const ::hilti::rt::TypeInfo _t_ti_tuple_uint_8___uint_8___uint_8___tuplex2auint8_uint8_uint8_x2b = { {}, "tuple<uint<8>, uint<8>, uint<8>>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>*>(self)); }, new ::hilti::rt::type_info::Tuple(std::vector<::hilti::rt::type_info::tuple::Element>({::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint8, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>::elementOffset<0>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint8, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>::elementOffset<1>() }, ::hilti::rt::type_info::tuple::Element{ "", &::hilti::rt::type_info::uint8, ::hilti::rt::Tuple<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>::elementOffset<2>() }})) }; |
664 | 0 | const ::hilti::rt::TypeInfo _t_ti_bitfieldx2a8x2b_x73_offset__0__5x3e_compressed__6__7x3e_x75_bitfieldx2a8_offset_0_5_compressed_6_7_x2b = { {}, "bitfield(8) { offset: 0..5; compressed: 6..7; }", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>*>(self)); }, new ::hilti::rt::type_info::Bitfield(8, std::vector<::hilti::rt::type_info::bitfield::Bits>({::hilti::rt::type_info::bitfield::Bits{ "offset", 0, 5, &::hilti::rt::type_info::uint8 }, ::hilti::rt::type_info::bitfield::Bits{ "compressed", 6, 7, &::hilti::rt::type_info::uint8 }}), &type_info::_t_ti_tuple_uint_8___uint_8___uint_8___tuplex2auint8_uint8_uint8_x2b) }; |
665 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_Pointer__value_refx2anamex2aDNS__Pointerx2bx2b = { {}, "value_ref<Pointer>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Pointer>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__Pointer_namex2aDNS__Pointerx2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::Pointer>()) }; |
666 | 0 | const ::hilti::rt::TypeInfo _t_ti_DNS__Label_namex2aDNS__Labelx2b = { "DNS::Label", "DNS::Label", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const hlt_internal_dns_Message::DNS::Label*>(self)); }, new ::hilti::rt::type_info::Struct(std::vector<::hilti::rt::type_info::struct_::Field>({::hilti::rt::type_info::struct_::Field{ "len", &type_info::_t_ti_bitfieldx2a8x2b_x73_offset__0__5x3e_compressed__6__7x3e_x75_bitfieldx2a8_offset_0_5_compressed_6_7_x2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, len)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Bitfield<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::integer::safe<uint8_t>>>() }, ::hilti::rt::type_info::struct_::Field{ "label", &::hilti::rt::type_info::bytes, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, label)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::Bytes>() }, ::hilti::rt::type_info::struct_::Field{ "ptr", &type_info::_t_ti_value_ref_Pointer__value_refx2anamex2aDNS__Pointerx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, ptr)), false, false, true, ::hilti::rt::type_info::struct_::Field::accessor_optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Pointer>>() }, ::hilti::rt::type_info::struct_::Field{ "_t_begin", &::hilti::rt::type_info::stream_iterator, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, _t_begin)), true, false, true }, ::hilti::rt::type_info::struct_::Field{ "_t_position_update", &type_info::_t_ti_optional_iterator_stream___optionalx2aiteratorx2astreamx2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, _t_position_update)), true, false, true }, ::hilti::rt::type_info::struct_::Field{ "_t_error", &type_info::_t_ti_optional_spicy__RecoverableFailure__optionalx2anamex2ahilti__RecoverableFailurex2bx2b, static_cast<std::ptrdiff_t>(offsetof(DNS::Label, _t_error)), true, false, true }})) }; |
667 | 0 | const ::hilti::rt::TypeInfo _t_ti_value_ref_DNS__Message__value_refx2anamex2aDNS__Messagex2bx2b = { {}, "value_ref<DNS::Message>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>*>(self)); }, new ::hilti::rt::type_info::ValueReference(&type_info::_t_ti_DNS__Message_namex2aDNS__Messagex2b, ::hilti::rt::type_info::ValueReference::accessor<hlt_internal_dns_Message::DNS::Message>()) }; |
668 | 0 | const ::hilti::rt::TypeInfo _t_ti_strong_ref_const_DNS__Message__strong_refx2anamex2aDNS__Messagex2bx2b = { {}, "strong_ref<const DNS::Message>", [](const void *self) { return hilti::rt::to_string(*reinterpret_cast<const ::hilti::rt::StrongReference<hlt_internal_dns_Message::DNS::Message>*>(self)); }, new ::hilti::rt::type_info::StrongReference(&type_info::_t_ti_DNS__Message_namex2aDNS__Messagex2b, ::hilti::rt::type_info::StrongReference::accessor<hlt_internal_dns_Message::DNS::Message>()) }; |
669 | | } } |
670 | | |
671 | | HILTI_PRE_INIT(hlt_internal_dns_Message::DNS::_t_register_module) |
672 | | |
673 | 0 | inline auto ::hilti::rt::detail::adl::to_string(hlt_internal_dns_Message::DNS::RDType x, adl::tag) -> std::string { |
674 | 0 | switch ( x.value() ) { |
675 | 0 | case hlt_internal_dns_Message::DNS::RDType::EDNS: return "RDType::EDNS"; |
676 | 0 | case hlt_internal_dns_Message::DNS::RDType::A6: return "RDType::A6"; |
677 | 0 | case hlt_internal_dns_Message::DNS::RDType::SRV: return "RDType::SRV"; |
678 | 0 | case hlt_internal_dns_Message::DNS::RDType::NBS: return "RDType::NBS"; |
679 | 0 | case hlt_internal_dns_Message::DNS::RDType::AAAA: return "RDType::AAAA"; |
680 | 0 | case hlt_internal_dns_Message::DNS::RDType::TXT: return "RDType::TXT"; |
681 | 0 | case hlt_internal_dns_Message::DNS::RDType::MX: return "RDType::MX"; |
682 | 0 | case hlt_internal_dns_Message::DNS::RDType::MINFO: return "RDType::MINFO"; |
683 | 0 | case hlt_internal_dns_Message::DNS::RDType::HINFO: return "RDType::HINFO"; |
684 | 0 | case hlt_internal_dns_Message::DNS::RDType::PTR: return "RDType::PTR"; |
685 | 0 | case hlt_internal_dns_Message::DNS::RDType::WKS: return "RDType::WKS"; |
686 | 0 | case hlt_internal_dns_Message::DNS::RDType::NULL_: return "RDType::NULL"; |
687 | 0 | case hlt_internal_dns_Message::DNS::RDType::MR: return "RDType::MR"; |
688 | 0 | case hlt_internal_dns_Message::DNS::RDType::MG: return "RDType::MG"; |
689 | 0 | case hlt_internal_dns_Message::DNS::RDType::MB: return "RDType::MB"; |
690 | 0 | case hlt_internal_dns_Message::DNS::RDType::SOA: return "RDType::SOA"; |
691 | 0 | case hlt_internal_dns_Message::DNS::RDType::CNAME: return "RDType::CNAME"; |
692 | 0 | case hlt_internal_dns_Message::DNS::RDType::MF: return "RDType::MF"; |
693 | 0 | case hlt_internal_dns_Message::DNS::RDType::MD: return "RDType::MD"; |
694 | 0 | case hlt_internal_dns_Message::DNS::RDType::NS: return "RDType::NS"; |
695 | 0 | case hlt_internal_dns_Message::DNS::RDType::A: return "RDType::A"; |
696 | 0 | case hlt_internal_dns_Message::DNS::RDType::Undef: return "RDType::Undef"; |
697 | 0 | default: return ::hilti::rt::fmt("RDType::<unknown-%" PRIu64 ">", x.value()); |
698 | 0 | } |
699 | 0 | } |
700 | | |
701 | 0 | inline auto ::hilti::rt::detail::adl::to_string(hlt_internal_dns_Message::DNS::RRType x, adl::tag) -> std::string { |
702 | 0 | switch ( x.value() ) { |
703 | 0 | case hlt_internal_dns_Message::DNS::RRType::ADDL: return "RRType::ADDL"; |
704 | 0 | case hlt_internal_dns_Message::DNS::RRType::AUTH: return "RRType::AUTH"; |
705 | 0 | case hlt_internal_dns_Message::DNS::RRType::ANSWER: return "RRType::ANSWER"; |
706 | 0 | case hlt_internal_dns_Message::DNS::RRType::Undef: return "RRType::Undef"; |
707 | 0 | default: return ::hilti::rt::fmt("RRType::<unknown-%" PRIu64 ">", x.value()); |
708 | 0 | } |
709 | 0 | } |
710 | | |
711 | 2.96k | auto hlt_dns_Message::DNS::Message::parse1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable { |
712 | 2.96k | auto args = std::make_tuple(::hilti::rt::resumable::detail::copyArg(_t_data), ::hilti::rt::resumable::detail::copyArg(_t_cur), ::hilti::rt::resumable::detail::copyArg(_t_context)); |
713 | 2.96k | auto args_on_heap = std::make_shared<decltype(args)>(std::move(args)); |
714 | 2.96k | auto cb = [args_on_heap = std::move(args_on_heap)](::hilti::rt::resumable::Handle* r) -> ::hilti::rt::any { |
715 | 2.96k | return hlt_internal_dns_Message::DNS::Message::parse1(std::get<0>(*args_on_heap), std::get<1>(*args_on_heap), std::get<2>(*args_on_heap)); |
716 | 2.96k | }; |
717 | | |
718 | 2.96k | auto r = std::make_unique<::hilti::rt::Resumable>(std::move(cb)); |
719 | 2.96k | r->run(); |
720 | 2.96k | return std::move(*r); |
721 | 2.96k | } |
722 | | |
723 | 0 | auto hlt_dns_Message::DNS::Message::parse2(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_unit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable { |
724 | 0 | auto args = std::make_tuple(::hilti::rt::resumable::detail::copyArg(_t_unit), ::hilti::rt::resumable::detail::copyArg(_t_data), ::hilti::rt::resumable::detail::copyArg(_t_cur), ::hilti::rt::resumable::detail::copyArg(_t_context)); |
725 | 0 | auto args_on_heap = std::make_shared<decltype(args)>(std::move(args)); |
726 | 0 | auto cb = [args_on_heap = std::move(args_on_heap)](::hilti::rt::resumable::Handle* r) -> ::hilti::rt::any { |
727 | 0 | return hlt_internal_dns_Message::DNS::Message::parse2(std::get<0>(*args_on_heap), std::get<1>(*args_on_heap), std::get<2>(*args_on_heap), std::get<3>(*args_on_heap)); |
728 | 0 | }; |
729 | |
|
730 | 0 | auto r = std::make_unique<::hilti::rt::Resumable>(std::move(cb)); |
731 | 0 | r->run(); |
732 | 0 | return std::move(*r); |
733 | 0 | } |
734 | | |
735 | 0 | auto hlt_dns_Message::DNS::Message::parse3(::hilti::rt::ValueReference<::spicy::rt::ParsedUnit>& _t_gunit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::Resumable { |
736 | 0 | auto args = std::make_tuple(::hilti::rt::resumable::detail::copyArg(_t_gunit), ::hilti::rt::resumable::detail::copyArg(_t_data), ::hilti::rt::resumable::detail::copyArg(_t_cur), ::hilti::rt::resumable::detail::copyArg(_t_context)); |
737 | 0 | auto args_on_heap = std::make_shared<decltype(args)>(std::move(args)); |
738 | 0 | auto cb = [args_on_heap = std::move(args_on_heap)](::hilti::rt::resumable::Handle* r) -> ::hilti::rt::any { |
739 | 0 | return hlt_internal_dns_Message::DNS::Message::parse3(std::get<0>(*args_on_heap), std::get<1>(*args_on_heap), std::get<2>(*args_on_heap), std::get<3>(*args_on_heap)); |
740 | 0 | }; |
741 | |
|
742 | 0 | auto r = std::make_unique<::hilti::rt::Resumable>(std::move(cb)); |
743 | 0 | r->run(); |
744 | 0 | return std::move(*r); |
745 | 0 | } |
746 | | |
747 | 2.31M | auto hlt_internal_dns_Message::DNS::CharacterString::_t_parse_DNS__CharacterString_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim) -> ::hilti::rt::stream::View { |
748 | 2.31M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_1; |
749 | 2.31M | auto _t_self = CharacterString::_t_self(); |
750 | 2.31M | ::hilti::rt::detail::checkStack(); |
751 | 2.31M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:108:24-111:1"); |
752 | 2.31M | ::hilti::rt::integer::safe<uint8_t> _t_v_len; |
753 | 2.31M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:109:10-109:14"); |
754 | | |
755 | | // Begin parsing production: Variable: len_15 -> uint<8>; |
756 | 2.31M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{1U}, "expecting 1 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:109:10-109:14"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
757 | 2.31M | ::hilti::rt::tuple::assign(std::tie(_t_v_len, _t_cur), ::hilti::rt::integer::unpack<uint8_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
758 | 2.31M | if ( _t_trim ) { |
759 | 0 | (*_t_data).trim(_t_cur.begin()); |
760 | 0 | } |
761 | | |
762 | | // End parsing production: Variable: len_15 -> uint<8>; |
763 | | |
764 | 2.31M | (*_t_self).len.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_len); |
765 | 2.31M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:110:11-110:15"); |
766 | | |
767 | | // Begin parsing production: Variable: data_3 -> bytes; |
768 | 2.31M | ::hilti::rt::integer::safe<uint64_t> _t_size = ::hilti::rt::integer::safe<uint64_t>{((*_t_self).len.value())}; |
769 | 2.31M | ::spicy::rt::detail::extractBytes(_t_data, _t_cur, _t_size, ::hilti::rt::Bool{false}, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:110:5-110:33"sv, (_t_lhs_1=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}))); |
770 | 2.31M | _t_cur = _t_cur.advance(::hilti::rt::detail::move_non_trivial(_t_size)); |
771 | 2.31M | if ( _t_trim ) { |
772 | 0 | (*_t_data).trim(_t_cur.begin()); |
773 | 0 | } |
774 | | |
775 | | // End parsing production: Variable: data_3 -> bytes; |
776 | | |
777 | 2.31M | ::hilti::rt::debug::dedent("spicy"sv); |
778 | 2.31M | return _t_cur; |
779 | 2.31M | } |
780 | | |
781 | 2.31M | auto hlt_internal_dns_Message::DNS::CharacterString::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim) -> ::hilti::rt::stream::View { |
782 | 2.31M | auto _t_self = CharacterString::_t_self(); |
783 | 2.31M | ::hilti::rt::detail::checkStack(); |
784 | 2.31M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:108:24-111:1"); |
785 | 2.31M | ::hilti::rt::debug::indent("spicy"sv); |
786 | 2.31M | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
787 | 2.31M | return (*_t_self)._t_parse_DNS__CharacterString_3_stage2(_t_data, _t_cur, _t_trim); |
788 | 2.31M | } |
789 | | |
790 | 2.94k | inline void hlt_internal_dns_Message::DNS::Header::_t_on_0x25_done() { |
791 | 2.94k | auto _t_self = DNS::Header::_t_self(); |
792 | 2.94k | return hlt_internal_dns_Message::DNS::_t_hook_Header__t_on_0x25_done(_t_self); |
793 | 2.94k | } |
794 | | |
795 | 2.96k | auto hlt_internal_dns_Message::DNS::Header::_t_parse_DNS__Header_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
796 | 2.96k | ::hilti::rt::Result<::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::stream::View>> _t_x_1; |
797 | 2.96k | auto _t_self = Header::_t_self(); |
798 | 2.96k | ::hilti::rt::detail::checkStack(); |
799 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:24:15-57:1"); |
800 | 2.96k | ::hilti::rt::integer::safe<uint16_t> _t_v_id; |
801 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:25:13-25:18"); |
802 | | |
803 | | // Begin parsing production: Variable: id_2 -> uint<16>; |
804 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:25:13-25:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
805 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_v_id, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
806 | 2.96k | if ( _t_trim ) { |
807 | 0 | (*_t_data).trim(_t_cur.begin()); |
808 | 0 | } |
809 | | |
810 | | // End parsing production: Variable: id_2 -> uint<16>; |
811 | | |
812 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:26:13-37:9"); |
813 | | |
814 | | // Begin parsing production: Variable: flags_2 -> bitfield(16) { qr: 0; opcode: 1..4; aa: 5; tc: 6; rd: 7; ra: 8; z: 9..11; ad: 10; cd: 11; rcode: 12..15; } &bit-order=spicy::BitOrder::MSB0; |
815 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:26:13-37:9"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
816 | 2.96k | ::hilti::rt::tuple::assign(std::tie((*_t_self).flags.valueOrInit(), _t_cur), (_t_x_1 = ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}), ::hilti::rt::make_result(::hilti::rt::tuple::make(::hilti::rt::make_bitfield(&type_info::_t_ti_bitfieldx2a16x2b_x73_qr__0x3e_opcode__1__4x3e_aa__5x3e_tc__6x3e_rd__7x3e_ra__8x3e_z__9__11x3e_ad__10x3e_cd__11x3e_rcode__12__15x3e_x75_x28bit_orderx31spicy__BitOrder__MSB0_bitfieldx2a16_qr_0_0_opcode_1_4_aa_5_5_tc_6_6_rd_7_7_ra_8_8_z_9_11_ad_10_10_cd_11_11_rcode_12_15_x2b, ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 0, 0, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 1, 4, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 5, 5, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 6, 6, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 7, 7, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 8, 8, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 9, 11, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 10, 10, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 11, 11, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_1), 12, 15, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::MSB0}), ::hilti::rt::integer::noop(::hilti::rt::tuple::get<0>(*_t_x_1))), ::hilti::rt::tuple::get<1>(*_t_x_1)))).valueOrThrow()); |
817 | 2.96k | if ( _t_trim ) { |
818 | 0 | (*_t_data).trim(_t_cur.begin()); |
819 | 0 | } |
820 | | |
821 | | // End parsing production: Variable: flags_2 -> bitfield(16) { qr: 0; opcode: 1..4; aa: 5; tc: 6; rd: 7; ra: 8; z: 9..11; ad: 10; cd: 11; rcode: 12..15; } &bit-order=spicy::BitOrder::MSB0; |
822 | | |
823 | 2.96k | ::hilti::rt::integer::safe<uint16_t> _t_v_qdcount; |
824 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:39:14-39:19"); |
825 | | |
826 | | // Begin parsing production: Variable: qdcount_2 -> uint<16>; |
827 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:39:14-39:19"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
828 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_v_qdcount, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
829 | 2.96k | if ( _t_trim ) { |
830 | 0 | (*_t_data).trim(_t_cur.begin()); |
831 | 0 | } |
832 | | |
833 | | // End parsing production: Variable: qdcount_2 -> uint<16>; |
834 | | |
835 | 2.96k | (*_t_self).qdcount.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_qdcount); |
836 | 2.96k | ::hilti::rt::integer::safe<uint16_t> _t_v_ancount; |
837 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:40:14-40:19"); |
838 | | |
839 | | // Begin parsing production: Variable: ancount_2 -> uint<16>; |
840 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:40:14-40:19"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
841 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_v_ancount, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
842 | 2.96k | if ( _t_trim ) { |
843 | 0 | (*_t_data).trim(_t_cur.begin()); |
844 | 0 | } |
845 | | |
846 | | // End parsing production: Variable: ancount_2 -> uint<16>; |
847 | | |
848 | 2.96k | (*_t_self).ancount.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_ancount); |
849 | 2.96k | ::hilti::rt::integer::safe<uint16_t> _t_v_nscount; |
850 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:41:14-41:19"); |
851 | | |
852 | | // Begin parsing production: Variable: nscount_2 -> uint<16>; |
853 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:41:14-41:19"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
854 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_v_nscount, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
855 | 2.96k | if ( _t_trim ) { |
856 | 0 | (*_t_data).trim(_t_cur.begin()); |
857 | 0 | } |
858 | | |
859 | | // End parsing production: Variable: nscount_2 -> uint<16>; |
860 | | |
861 | 2.96k | (*_t_self).nscount.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_nscount); |
862 | 2.96k | ::hilti::rt::integer::safe<uint16_t> _t_v_arcount; |
863 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:42:14-42:19"); |
864 | | |
865 | | // Begin parsing production: Variable: arcount_2 -> uint<16>; |
866 | 2.96k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:42:14-42:19"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
867 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_v_arcount, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
868 | 2.96k | if ( _t_trim ) { |
869 | 0 | (*_t_data).trim(_t_cur.begin()); |
870 | 0 | } |
871 | | |
872 | | // End parsing production: Variable: arcount_2 -> uint<16>; |
873 | | |
874 | 2.96k | (*_t_self).arcount.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_arcount); |
875 | 2.96k | (*_t_self)._t_error = _t_error; |
876 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:24:15-57:1"); |
877 | 2.96k | (*_t_self)._t_on_0x25_done(); |
878 | 2.96k | _t_error = (*_t_self)._t_error; |
879 | 2.96k | ::hilti::rt::debug::dedent("spicy"sv); |
880 | 2.96k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_error)); |
881 | 2.96k | } |
882 | | |
883 | 2.96k | auto hlt_internal_dns_Message::DNS::Header::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
884 | 2.96k | auto _t_self = Header::_t_self(); |
885 | 2.96k | ::hilti::rt::detail::checkStack(); |
886 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:24:15-57:1"); |
887 | 2.96k | ::hilti::rt::debug::indent("spicy"sv); |
888 | 2.96k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
889 | 2.96k | return (*_t_self)._t_parse_DNS__Header_2_stage2(_t_data, _t_cur, _t_trim, _t_error); |
890 | 2.96k | } |
891 | | |
892 | 2.91M | inline void hlt_internal_dns_Message::DNS::Label::_t_on_label() { |
893 | 2.91M | auto _t_self = DNS::Label::_t_self(); |
894 | 2.91M | return hlt_internal_dns_Message::DNS::_t_hook_Label__t_on_label(_t_self); |
895 | 2.91M | } |
896 | | |
897 | 23.6k | inline void hlt_internal_dns_Message::DNS::Label::_t_on_ptr() { |
898 | 23.6k | auto _t_self = DNS::Label::_t_self(); |
899 | 23.6k | return hlt_internal_dns_Message::DNS::_t_hook_Label__t_on_ptr(_t_self); |
900 | 23.6k | } |
901 | | |
902 | 2.95M | auto hlt_internal_dns_Message::DNS::Label::_t_parse_DNS__Label_9_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
903 | 2.95M | ::hilti::rt::Result<::hilti::rt::Tuple<::hilti::rt::integer::safe<uint8_t>, ::hilti::rt::stream::View>> _t_x_2; |
904 | 2.95M | auto _t_self = Label::_t_self(); |
905 | 2.95M | ::hilti::rt::detail::checkStack(); |
906 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:127:14-150:1"); |
907 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:128:10-131:9"); |
908 | | |
909 | | // Begin parsing production: Variable: len_20 -> bitfield(8) { offset: 0..5; compressed: 6..7; }; |
910 | 2.95M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{1U}, "expecting 1 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:128:10-131:9"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
911 | 2.95M | ::hilti::rt::tuple::assign(std::tie((*_t_self).len.valueOrInit(), _t_cur), (_t_x_2 = ::hilti::rt::integer::unpack<uint8_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}), ::hilti::rt::make_result(::hilti::rt::tuple::make(::hilti::rt::make_bitfield(&type_info::_t_ti_bitfieldx2a8x2b_x73_offset__0__5x3e_compressed__6__7x3e_x75_bitfieldx2a8_offset_0_5_compressed_6_7_x2b, ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_2), 0, 5, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::LSB0}), ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_2), 6, 7, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::LSB0}), ::hilti::rt::integer::noop(::hilti::rt::tuple::get<0>(*_t_x_2))), ::hilti::rt::tuple::get<1>(*_t_x_2)))).valueOrThrow()); |
912 | 2.95M | if ( _t_trim ) { |
913 | 0 | (*_t_data).trim(_t_cur.begin()); |
914 | 0 | } |
915 | | |
916 | | // End parsing production: Variable: len_20 -> bitfield(8) { offset: 0..5; compressed: 6..7; }; |
917 | | |
918 | 2.95M | (*_t_self)._t_error = _t_error; |
919 | 2.95M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
920 | 2.95M | if ( (*_t_self)._t_position_update.hasValue() ) { |
921 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
922 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
923 | 0 | } |
924 | | |
925 | 2.95M | _t_error = (*_t_self)._t_error; |
926 | 2.95M | (*_t_self)._t_begin = _t_begin; |
927 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:133:5-149:6"); |
928 | | |
929 | | // Begin parsing production: Switch: switch_11 -> [0] -> switch_11_case_1 | [3] -> switch_11_case_2; |
930 | 2.95M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_error), (*_t_self)._t_parse_switch_11_stage1(_t_data, _t_begin, _t_cur, _t_trim, _t_error)); |
931 | | // End parsing production: Switch: switch_11 -> [0] -> switch_11_case_1 | [3] -> switch_11_case_2; |
932 | | |
933 | 2.95M | (*_t_self)._t_begin = _t_begin; |
934 | 2.95M | (*_t_self)._t_begin = _t_begin; |
935 | 2.95M | (*_t_self)._t_error = _t_error; |
936 | 2.95M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
937 | 2.95M | if ( (*_t_self)._t_position_update.hasValue() ) { |
938 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
939 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
940 | 0 | } |
941 | | |
942 | 2.95M | _t_error = (*_t_self)._t_error; |
943 | 2.95M | ::hilti::rt::debug::dedent("spicy"sv); |
944 | 2.95M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
945 | 2.95M | } |
946 | | |
947 | 2.95M | auto hlt_internal_dns_Message::DNS::Label::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
948 | 2.95M | auto _t_self = Label::_t_self(); |
949 | 2.95M | ::hilti::rt::detail::checkStack(); |
950 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:127:14-150:1"); |
951 | 2.95M | ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> _t_result; |
952 | 2.95M | try { |
953 | 2.95M | ::hilti::rt::debug::indent("spicy"sv); |
954 | 2.95M | ::hilti::rt::stream::SafeConstIterator _t_begin = _t_cur.begin(); |
955 | 2.95M | (*_t_self)._t_begin = _t_begin; |
956 | 2.95M | (*_t_self)._t_error = _t_error; |
957 | 2.95M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
958 | 2.95M | if ( (*_t_self)._t_position_update.hasValue() ) { |
959 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
960 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
961 | 0 | } |
962 | | |
963 | 2.95M | _t_error = (*_t_self)._t_error; |
964 | 2.95M | _t_result = (*_t_self)._t_parse_DNS__Label_9_stage2(_t_data, _t_begin, _t_cur, ::hilti::rt::Bool{false}, _t_lah, _t_lahe, _t_error); |
965 | 2.95M | } |
966 | 2.95M | catch ( const ::std::exception& _t_except ) { |
967 | 13.1k | (*_t_self)._t_begin = _t_begin; |
968 | 13.1k | (*_t_self)._t_error = _t_error; |
969 | 13.1k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
970 | 13.1k | if ( (*_t_self)._t_position_update.hasValue() ) { |
971 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
972 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
973 | 0 | } |
974 | | |
975 | 13.1k | _t_error = (*_t_self)._t_error; |
976 | 13.1k | throw; |
977 | 13.1k | } |
978 | | |
979 | 2.93M | (*_t_self)._t_error = _t_error; |
980 | 2.93M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
981 | 2.93M | if ( (*_t_self)._t_position_update.hasValue() ) { |
982 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
983 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
984 | 0 | } |
985 | | |
986 | 2.93M | return _t_result; |
987 | 2.95M | } |
988 | | |
989 | 2.95M | auto hlt_internal_dns_Message::DNS::Label::_t_parse_switch_11_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
990 | 2.95M | auto _t_self = Label::_t_self(); |
991 | 2.95M | ::hilti::rt::detail::checkStack(); |
992 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:133:5-149:6"); |
993 | 2.95M | ::hilti::rt::debug::indent("spicy"sv); |
994 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:133:5-149:6"); |
995 | 2.95M | switch ( auto _t_x = (::hilti::rt::tuple::get<1>((*_t_self).len.value().value)); (_t_x).Ref() ) { |
996 | 2.91M | case ::hilti::rt::integer::safe<std::uint8_t>{0U}: { |
997 | 2.91M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_2; |
998 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:9-140:21"); |
999 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:9-140:21"); |
1000 | | |
1001 | | // Begin parsing production: Block: switch_11_case_1 -> label_9; |
1002 | 2.91M | ::hilti::rt::debug::indent("spicy"sv); |
1003 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:24-134:28"); |
1004 | | |
1005 | | // Begin parsing production: Variable: label_9 -> bytes; |
1006 | 2.91M | ::hilti::rt::integer::safe<uint64_t> _t_size = ::hilti::rt::integer::safe<uint64_t>{(::hilti::rt::tuple::get<0>((*_t_self).len.value().value))}; |
1007 | 2.91M | (*_t_self).label.valueOrInit() = ::spicy::rt::detail::extractBytes(_t_data, _t_cur, _t_size, ::hilti::rt::Bool{false}, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:17-140:21"sv, (_t_lhs_2=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}))); |
1008 | 2.91M | _t_cur = _t_cur.advance(::hilti::rt::detail::move_non_trivial(_t_size)); |
1009 | 2.91M | if ( _t_trim ) { |
1010 | 0 | (*_t_data).trim(_t_cur.begin()); |
1011 | 0 | } |
1012 | | |
1013 | | // End parsing production: Variable: label_9 -> bytes; |
1014 | | |
1015 | 2.91M | (*_t_self)._t_error = _t_error; |
1016 | 2.91M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1017 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:17-140:21"); |
1018 | 2.91M | (*_t_self)._t_on_label(); |
1019 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:134:9-140:21"); |
1020 | 2.91M | if ( (*_t_self)._t_position_update.hasValue() ) { |
1021 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1022 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1023 | 0 | } |
1024 | | |
1025 | 2.91M | _t_error = (*_t_self)._t_error; |
1026 | 2.91M | (*_t_self)._t_begin = _t_begin; |
1027 | 2.91M | ::hilti::rt::debug::dedent("spicy"sv); |
1028 | | // End parsing production: Block: switch_11_case_1 -> label_9; |
1029 | | |
1030 | 2.91M | (*_t_self)._t_begin = _t_begin; |
1031 | 2.91M | break; |
1032 | 0 | } |
1033 | 36.9k | case ::hilti::rt::integer::safe<std::uint8_t>{3U}: { |
1034 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:142:9-148:21"); |
1035 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:142:9-148:21"); |
1036 | | |
1037 | | // Begin parsing production: Block: switch_11_case_2 -> Resolved_45; |
1038 | 36.9k | ::hilti::rt::debug::indent("spicy"sv); |
1039 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:119:16-125:5"); |
1040 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_parse_at = (*_t_self)._t_begin; |
1041 | 36.9k | ::hilti::rt::integer::safe<int64_t> _t_parse_lah = ::hilti::rt::integer::safe<std::int64_t>{0}; |
1042 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_parse_begin = _t_parse_at; |
1043 | 36.9k | ::hilti::rt::stream::View _t_parse_cur = _t_cur.advance(_t_parse_at); |
1044 | | |
1045 | | // Begin parsing production: Unit: DNS__Pointer_9 -> len_21 Resolved_46 (field 'ptr', id n/a, parser, args: (msg, self)); |
1046 | 36.9k | (*_t_self).ptr.valueOrInit() = (hlt_internal_dns_Message::DNS::Pointer{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue(), _t_self}); |
1047 | 36.9k | ::hilti::rt::tuple::assign(std::tie(_t_parse_cur, _t_parse_lah, _t_error), (*(*_t_self).ptr.value())._t_parse_stage1(_t_data, _t_parse_cur, ::hilti::rt::Bool{false}, ::hilti::rt::detail::move_non_trivial(_t_parse_lah), _t_error)); |
1048 | | // End parsing production: Unit: DNS__Pointer_9 -> len_21 Resolved_46 (field 'ptr', id n/a, parser, args: (msg, self)); |
1049 | | |
1050 | 36.9k | (*_t_self)._t_begin = _t_begin; |
1051 | 36.9k | (*_t_self)._t_error = _t_error; |
1052 | 36.9k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1053 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:142:17-148:21"); |
1054 | 36.9k | (*_t_self)._t_on_ptr(); |
1055 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:142:9-148:21"); |
1056 | 36.9k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1057 | 23.6k | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1058 | 23.6k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1059 | 23.6k | } |
1060 | | |
1061 | 36.9k | _t_error = (*_t_self)._t_error; |
1062 | 36.9k | (*_t_self)._t_begin = _t_begin; |
1063 | 36.9k | ::hilti::rt::debug::dedent("spicy"sv); |
1064 | | // End parsing production: Block: switch_11_case_2 -> Resolved_45; |
1065 | | |
1066 | 36.9k | (*_t_self)._t_begin = _t_begin; |
1067 | 36.9k | break; |
1068 | 0 | } |
1069 | 125 | default: { |
1070 | 125 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:133:5-149:6"); |
1071 | 125 | throw ::spicy::rt::ParseError{::hilti::rt::fmt("no matching case in switch statement for value '%s'"sv, (::hilti::rt::tuple::get<1>((*_t_self).len.value().value))), "/src/spicy/spicy-dns/analyzer/analyzer.spicy:133:5-149:6"}; |
1072 | 0 | } |
1073 | 2.95M | } |
1074 | 2.93M | ::hilti::rt::debug::dedent("spicy"sv); |
1075 | 2.93M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_error)); |
1076 | 2.95M | } |
1077 | | |
1078 | 2.96k | auto hlt_internal_dns_Message::DNS::Message::_t_parse_DNS__Message_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1079 | 2.96k | auto _t_self = Message::_t_self(); |
1080 | 2.96k | ::hilti::rt::detail::checkStack(); |
1081 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1082 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:24:15-57:1"); |
1083 | | |
1084 | | // Begin parsing production: Unit: DNS__Header -> id flags qdcount ancount nscount arcount; |
1085 | 2.96k | (*_t_self).header.valueOrInit() = (hlt_internal_dns_Message::DNS::Header{}); |
1086 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_error), (*_t_self).header.value()._t_parse_stage1(_t_data, _t_cur, _t_trim, _t_error)); |
1087 | | // End parsing production: Unit: DNS__Header -> id flags qdcount ancount nscount arcount; |
1088 | | |
1089 | 2.96k | (*_t_self)._t_error = _t_error; |
1090 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1091 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1092 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1093 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1094 | 0 | } |
1095 | | |
1096 | 2.96k | _t_error = (*_t_self)._t_error; |
1097 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1098 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:18:5-18:54"); |
1099 | | |
1100 | | // Begin parsing production: Counter: question -> counter(self.header.qdcount): Resolved_3; |
1101 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse_question_stage1(_t_data, _t_begin, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error, (*_t_self).question.valueOrInit())); |
1102 | | // End parsing production: Counter: question -> counter(self.header.qdcount): Resolved_3; |
1103 | | |
1104 | 2.96k | (*_t_self)._t_error = _t_error; |
1105 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1106 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1107 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1108 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1109 | 0 | } |
1110 | | |
1111 | 2.96k | _t_error = (*_t_self)._t_error; |
1112 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1113 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:19:5-19:76"); |
1114 | | |
1115 | | // Begin parsing production: Counter: answer -> counter(self.header.ancount): Resolved_7; |
1116 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse_answer_stage1(_t_data, _t_begin, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error, (*_t_self).answer.valueOrInit())); |
1117 | | // End parsing production: Counter: answer -> counter(self.header.ancount): Resolved_7; |
1118 | | |
1119 | 2.96k | (*_t_self)._t_error = _t_error; |
1120 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1121 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1122 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1123 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1124 | 0 | } |
1125 | | |
1126 | 2.96k | _t_error = (*_t_self)._t_error; |
1127 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1128 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:20:5-20:74"); |
1129 | | |
1130 | | // Begin parsing production: Counter: authority -> counter(self.header.nscount): Resolved_7; |
1131 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse_authority_stage1(_t_data, _t_begin, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error, (*_t_self).authority.valueOrInit())); |
1132 | | // End parsing production: Counter: authority -> counter(self.header.nscount): Resolved_7; |
1133 | | |
1134 | 2.96k | (*_t_self)._t_error = _t_error; |
1135 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1136 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1137 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1138 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1139 | 0 | } |
1140 | | |
1141 | 2.96k | _t_error = (*_t_self)._t_error; |
1142 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1143 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:21:5-21:74"); |
1144 | | |
1145 | | // Begin parsing production: Counter: additional -> counter(self.header.arcount): Resolved_7; |
1146 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse_additional_stage1(_t_data, _t_begin, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error, (*_t_self).additional.valueOrInit())); |
1147 | | // End parsing production: Counter: additional -> counter(self.header.arcount): Resolved_7; |
1148 | | |
1149 | 2.96k | (*_t_self)._t_error = _t_error; |
1150 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1151 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1152 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1153 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1154 | 0 | } |
1155 | | |
1156 | 2.96k | _t_error = (*_t_self)._t_error; |
1157 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1158 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1159 | 2.96k | (*_t_self)._t_error = _t_error; |
1160 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1161 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1162 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1163 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1164 | 0 | } |
1165 | | |
1166 | 2.96k | _t_error = (*_t_self)._t_error; |
1167 | 2.96k | ::hilti::rt::debug::dedent("spicy"sv); |
1168 | 2.96k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1169 | 2.96k | } |
1170 | | |
1171 | 282 | auto hlt_internal_dns_Message::DNS::Message::_t_parse_additional_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1172 | 282 | auto _t_self = Message::_t_self(); |
1173 | 282 | ::hilti::rt::detail::checkStack(); |
1174 | 282 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:21:5-21:74"); |
1175 | 282 | ::hilti::rt::integer::safe<uint64_t> _t_repeat = ::hilti::rt::integer::safe<uint64_t>{(*_t_self).header.value().arcount.value()}; |
1176 | 282 | _t_dst.reserve((::hilti::rt::integer::safe<std::uint64_t>{128U} <= _t_repeat ? ::hilti::rt::integer::safe<std::uint64_t>{128U} : _t_repeat)); |
1177 | 159k | for ( ::hilti::rt::integer::safe<uint64_t> _t_i = ::hilti::rt::detail::move_non_trivial(_t_repeat); ::hilti::rt::Bool{static_cast<bool>(_t_i)}; ) { |
1178 | 159k | _t_i--; |
1179 | 159k | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>> _t_elem; |
1180 | 159k | (*_t_self)._t_begin = _t_begin; |
1181 | 159k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:65:23-84:1"); |
1182 | | |
1183 | | // Begin parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1184 | 159k | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>((hlt_internal_dns_Message::DNS::ResourceRecord{::hilti::rt::struct_::tag::Parameters(), _t_self, DNS::RRType{DNS::RRType::ADDL}})); |
1185 | 159k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_elem.value())._t_parse_stage1(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error)); |
1186 | | // End parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1187 | | |
1188 | 159k | (*_t_self)._t_error = _t_error; |
1189 | 159k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1190 | 159k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1191 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1192 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1193 | 0 | } |
1194 | | |
1195 | 159k | _t_error = (*_t_self)._t_error; |
1196 | 159k | _t_dst.emplace_back(::hilti::rt::detail::move_non_trivial(_t_elem).value()); |
1197 | 159k | (*_t_self)._t_begin = _t_begin; |
1198 | 159k | } |
1199 | | |
1200 | 282 | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1201 | 282 | } |
1202 | | |
1203 | 2.51k | auto hlt_internal_dns_Message::DNS::Message::_t_parse_answer_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1204 | 2.51k | auto _t_self = Message::_t_self(); |
1205 | 2.51k | ::hilti::rt::detail::checkStack(); |
1206 | 2.51k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:19:5-19:76"); |
1207 | 2.51k | ::hilti::rt::integer::safe<uint64_t> _t_repeat = ::hilti::rt::integer::safe<uint64_t>{(*_t_self).header.value().ancount.value()}; |
1208 | 2.51k | _t_dst.reserve((::hilti::rt::integer::safe<std::uint64_t>{128U} <= _t_repeat ? ::hilti::rt::integer::safe<std::uint64_t>{128U} : _t_repeat)); |
1209 | 1.05M | for ( ::hilti::rt::integer::safe<uint64_t> _t_i = ::hilti::rt::detail::move_non_trivial(_t_repeat); ::hilti::rt::Bool{static_cast<bool>(_t_i)}; ) { |
1210 | 1.05M | _t_i--; |
1211 | 1.05M | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>> _t_elem; |
1212 | 1.05M | (*_t_self)._t_begin = _t_begin; |
1213 | 1.05M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:65:23-84:1"); |
1214 | | |
1215 | | // Begin parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1216 | 1.05M | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>((hlt_internal_dns_Message::DNS::ResourceRecord{::hilti::rt::struct_::tag::Parameters(), _t_self, DNS::RRType{DNS::RRType::ANSWER}})); |
1217 | 1.05M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_elem.value())._t_parse_stage1(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error)); |
1218 | | // End parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1219 | | |
1220 | 1.05M | (*_t_self)._t_error = _t_error; |
1221 | 1.05M | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1222 | 1.05M | if ( (*_t_self)._t_position_update.hasValue() ) { |
1223 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1224 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1225 | 0 | } |
1226 | | |
1227 | 1.05M | _t_error = (*_t_self)._t_error; |
1228 | 1.05M | _t_dst.emplace_back(::hilti::rt::detail::move_non_trivial(_t_elem).value()); |
1229 | 1.05M | (*_t_self)._t_begin = _t_begin; |
1230 | 1.05M | } |
1231 | | |
1232 | 2.51k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1233 | 2.51k | } |
1234 | | |
1235 | 1.14k | auto hlt_internal_dns_Message::DNS::Message::_t_parse_authority_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1236 | 1.14k | auto _t_self = Message::_t_self(); |
1237 | 1.14k | ::hilti::rt::detail::checkStack(); |
1238 | 1.14k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:20:5-20:74"); |
1239 | 1.14k | ::hilti::rt::integer::safe<uint64_t> _t_repeat = ::hilti::rt::integer::safe<uint64_t>{(*_t_self).header.value().nscount.value()}; |
1240 | 1.14k | _t_dst.reserve((::hilti::rt::integer::safe<std::uint64_t>{128U} <= _t_repeat ? ::hilti::rt::integer::safe<std::uint64_t>{128U} : _t_repeat)); |
1241 | 465k | for ( ::hilti::rt::integer::safe<uint64_t> _t_i = ::hilti::rt::detail::move_non_trivial(_t_repeat); ::hilti::rt::Bool{static_cast<bool>(_t_i)}; ) { |
1242 | 464k | _t_i--; |
1243 | 464k | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>> _t_elem; |
1244 | 464k | (*_t_self)._t_begin = _t_begin; |
1245 | 464k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:65:23-84:1"); |
1246 | | |
1247 | | // Begin parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1248 | 464k | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::ResourceRecord>>((hlt_internal_dns_Message::DNS::ResourceRecord{::hilti::rt::struct_::tag::Parameters(), _t_self, DNS::RRType{DNS::RRType::AUTH}})); |
1249 | 464k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_elem.value())._t_parse_stage1(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error)); |
1250 | | // End parsing production: Unit: DNS__ResourceRecord -> Resolved_4 ty class ttl rdlen switch_2 (field '_anon_2', id n/a, parser, args: (self, RRType::ANSWER)) (container 'answer'); |
1251 | | |
1252 | 464k | (*_t_self)._t_error = _t_error; |
1253 | 464k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1254 | 464k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1255 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1256 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1257 | 0 | } |
1258 | | |
1259 | 464k | _t_error = (*_t_self)._t_error; |
1260 | 464k | _t_dst.emplace_back(::hilti::rt::detail::move_non_trivial(_t_elem).value()); |
1261 | 464k | (*_t_self)._t_begin = _t_begin; |
1262 | 464k | } |
1263 | | |
1264 | 1.14k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1265 | 1.14k | } |
1266 | | |
1267 | 2.94k | auto hlt_internal_dns_Message::DNS::Message::_t_parse_question_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error, ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>& _t_dst) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1268 | 2.94k | auto _t_self = Message::_t_self(); |
1269 | 2.94k | ::hilti::rt::detail::checkStack(); |
1270 | 2.94k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:18:5-18:54"); |
1271 | 2.94k | ::hilti::rt::integer::safe<uint64_t> _t_repeat = ::hilti::rt::integer::safe<uint64_t>{(*_t_self).header.value().qdcount.value()}; |
1272 | 2.94k | _t_dst.reserve((::hilti::rt::integer::safe<std::uint64_t>{128U} <= _t_repeat ? ::hilti::rt::integer::safe<std::uint64_t>{128U} : _t_repeat)); |
1273 | 824k | for ( ::hilti::rt::integer::safe<uint64_t> _t_i = ::hilti::rt::detail::move_non_trivial(_t_repeat); ::hilti::rt::Bool{static_cast<bool>(_t_i)}; ) { |
1274 | 822k | _t_i--; |
1275 | 822k | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>> _t_elem; |
1276 | 822k | (*_t_self)._t_begin = _t_begin; |
1277 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:59:17-63:1"); |
1278 | | |
1279 | | // Begin parsing production: Unit: DNS__Question -> Resolved_4 qtype qclass (field '_anon', id n/a, parser, args: (self)) (container 'question'); |
1280 | 822k | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Question>>((hlt_internal_dns_Message::DNS::Question{::hilti::rt::struct_::tag::Parameters(), _t_self})); |
1281 | 822k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_elem.value())._t_parse_stage1(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error)); |
1282 | | // End parsing production: Unit: DNS__Question -> Resolved_4 qtype qclass (field '_anon', id n/a, parser, args: (self)) (container 'question'); |
1283 | | |
1284 | 822k | (*_t_self)._t_error = _t_error; |
1285 | 822k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1286 | 822k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1287 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1288 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1289 | 0 | } |
1290 | | |
1291 | 822k | _t_error = (*_t_self)._t_error; |
1292 | 822k | _t_dst.emplace_back(::hilti::rt::detail::move_non_trivial(_t_elem).value()); |
1293 | 822k | (*_t_self)._t_begin = _t_begin; |
1294 | 822k | } |
1295 | | |
1296 | 2.94k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1297 | 2.94k | } |
1298 | | |
1299 | 2.96k | auto hlt_internal_dns_Message::DNS::Message::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1300 | 2.96k | auto _t_self = Message::_t_self(); |
1301 | 2.96k | ::hilti::rt::detail::checkStack(); |
1302 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1303 | 2.96k | ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> _t_result; |
1304 | 2.96k | try { |
1305 | 2.96k | ::hilti::rt::debug::indent("spicy"sv); |
1306 | 2.96k | ::hilti::rt::stream::SafeConstIterator _t_begin = _t_cur.begin(); |
1307 | 2.96k | (*_t_self)._t_begin = _t_begin; |
1308 | 2.96k | (*_t_self)._t_error = _t_error; |
1309 | 2.96k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1310 | 2.96k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1311 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1312 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1313 | 0 | } |
1314 | | |
1315 | 2.96k | _t_error = (*_t_self)._t_error; |
1316 | 2.96k | _t_result = (*_t_self)._t_parse_DNS__Message_stage2(_t_data, _t_begin, _t_cur, ::hilti::rt::Bool{false}, _t_lah, _t_lahe, _t_error); |
1317 | 2.96k | } |
1318 | 2.96k | catch ( const ::std::exception& _t_except ) { |
1319 | 1.28k | (*_t_self)._t_begin = _t_begin; |
1320 | 1.28k | (*_t_self)._t_error = _t_error; |
1321 | 1.28k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1322 | 1.28k | if ( (*_t_self)._t_position_update.hasValue() ) { |
1323 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1324 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1325 | 0 | } |
1326 | | |
1327 | 1.28k | _t_error = (*_t_self)._t_error; |
1328 | 1.28k | throw; |
1329 | 1.28k | } |
1330 | | |
1331 | 17 | (*_t_self)._t_error = _t_error; |
1332 | 17 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1333 | 17 | if ( (*_t_self)._t_position_update.hasValue() ) { |
1334 | 0 | _t_cur = _t_cur.advance((*_t_self)._t_position_update.value()); |
1335 | 0 | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>{}; |
1336 | 0 | } |
1337 | | |
1338 | 17 | return _t_result; |
1339 | 2.96k | } |
1340 | | |
1341 | 2.96k | auto hlt_internal_dns_Message::DNS::Message::parse1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View { |
1342 | 2.96k | ::hilti::rt::detail::checkStack(); |
1343 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1344 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1345 | 2.96k | ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message> _t_unit = ::hilti::rt::reference::make_value<hlt_internal_dns_Message::DNS::Message>((hlt_internal_dns_Message::DNS::Message{})); |
1346 | 2.96k | ::hilti::rt::stream::View _t_ncur = (_t_cur ? _t_cur.value() : (*_t_data).view()); |
1347 | 2.96k | ::hilti::rt::integer::safe<int64_t> _t_lahead = ::hilti::rt::integer::safe<std::int64_t>{0}; |
1348 | 2.96k | ::hilti::rt::stream::SafeConstIterator _t_lahead_end; |
1349 | 2.96k | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error = ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>{}; |
1350 | 2.96k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1351 | | |
1352 | | // Begin parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1353 | 2.96k | ::hilti::rt::tuple::assign(std::tie(_t_ncur, _t_lahead, _t_lahead_end, _t_error), (*::hilti::rt::detail::move_non_trivial(_t_unit))._t_parse_stage1(_t_data, _t_ncur.begin(), _t_ncur, ::hilti::rt::detail::move_non_trivial(_t_lahead), _t_lahead_end, _t_error)); |
1354 | | // End parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1355 | | |
1356 | 2.96k | if ( _t_error.hasValue() ) { |
1357 | 0 | throw ::spicy::rt::ParseError{::hilti::rt::fmt("successful synchronization never confirmed: %s"sv, ::hilti::rt::exception::what(_t_error.value())), ::hilti::rt::exception::where(_t_error.value())}; |
1358 | 0 | } |
1359 | | |
1360 | 2.96k | return _t_ncur; |
1361 | 2.96k | } |
1362 | | |
1363 | 0 | auto hlt_internal_dns_Message::DNS::Message::parse2(::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message>& _t_unit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View { |
1364 | 0 | ::hilti::rt::detail::checkStack(); |
1365 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1366 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1367 | 0 | ::hilti::rt::stream::View _t_ncur = (_t_cur ? _t_cur.value() : (*_t_data).view()); |
1368 | 0 | ::hilti::rt::integer::safe<int64_t> _t_lahead = ::hilti::rt::integer::safe<std::int64_t>{0}; |
1369 | 0 | ::hilti::rt::stream::SafeConstIterator _t_lahead_end; |
1370 | 0 | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error = ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>{}; |
1371 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1372 | | |
1373 | | // Begin parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1374 | 0 | ::hilti::rt::tuple::assign(std::tie(_t_ncur, _t_lahead, _t_lahead_end, _t_error), (*_t_unit)._t_parse_stage1(_t_data, _t_ncur.begin(), _t_ncur, ::hilti::rt::detail::move_non_trivial(_t_lahead), _t_lahead_end, _t_error)); |
1375 | | // End parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1376 | |
|
1377 | 0 | (*_t_unit)._t_begin = _t_ncur.begin(); |
1378 | 0 | if ( _t_error.hasValue() ) { |
1379 | 0 | throw ::spicy::rt::ParseError{::hilti::rt::fmt("successful synchronization never confirmed: %s"sv, ::hilti::rt::exception::what(_t_error.value())), ::hilti::rt::exception::where(_t_error.value())}; |
1380 | 0 | } |
1381 | | |
1382 | 0 | return _t_ncur; |
1383 | 0 | } |
1384 | | |
1385 | 0 | auto hlt_internal_dns_Message::DNS::Message::parse3(::hilti::rt::ValueReference<::spicy::rt::ParsedUnit>& _t_gunit, ::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::Optional<::hilti::rt::stream::View>& _t_cur, const ::hilti::rt::Optional<::spicy::rt::UnitContext>& _t_context) -> ::hilti::rt::stream::View { |
1386 | 0 | ::hilti::rt::detail::checkStack(); |
1387 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1388 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1389 | 0 | ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Message> _t_unit = ::hilti::rt::reference::make_value<hlt_internal_dns_Message::DNS::Message>((hlt_internal_dns_Message::DNS::Message{})); |
1390 | 0 | ::spicy::rt::ParsedUnit::initialize((*_t_gunit), _t_unit, &type_info::_t_ti_value_ref_DNS__Message__value_refx2anamex2aDNS__Messagex2bx2b); |
1391 | 0 | ::hilti::rt::stream::View _t_ncur = (_t_cur ? _t_cur.value() : (*_t_data).view()); |
1392 | 0 | ::hilti::rt::integer::safe<int64_t> _t_lahead = ::hilti::rt::integer::safe<std::int64_t>{0}; |
1393 | 0 | ::hilti::rt::stream::SafeConstIterator _t_lahead_end; |
1394 | 0 | ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error = ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>{}; |
1395 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:16:23-22:1"); |
1396 | | |
1397 | | // Begin parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1398 | 0 | ::hilti::rt::tuple::assign(std::tie(_t_ncur, _t_lahead, _t_lahead_end, _t_error), (*::hilti::rt::detail::move_non_trivial(_t_unit))._t_parse_stage1(_t_data, _t_ncur.begin(), _t_ncur, ::hilti::rt::detail::move_non_trivial(_t_lahead), _t_lahead_end, _t_error)); |
1399 | | // End parsing production: Unit: DNS__Message -> Resolved_2 question answer authority additional; |
1400 | |
|
1401 | 0 | if ( _t_error.hasValue() ) { |
1402 | 0 | throw ::spicy::rt::ParseError{::hilti::rt::fmt("successful synchronization never confirmed: %s"sv, ::hilti::rt::exception::what(_t_error.value())), ::hilti::rt::exception::where(_t_error.value())}; |
1403 | 0 | } |
1404 | | |
1405 | 0 | return _t_ncur; |
1406 | 0 | } |
1407 | | |
1408 | 2.56M | auto hlt_internal_dns_Message::DNS::Name::_t_parse_DNS__Name_7_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1409 | 2.56M | auto _t_self = Name::_t_self(); |
1410 | 2.56M | ::hilti::rt::detail::checkStack(); |
1411 | 2.56M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1412 | 2.56M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:114:5-114:81"); |
1413 | | |
1414 | | // Begin parsing production: ForEach: _anon_7_7 -> foreach: Resolved_39; |
1415 | 2.56M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse__anon_7_7_stage1(_t_data, _t_begin, _t_cur, _t_lah, _t_lahe, _t_error)); |
1416 | | // End parsing production: ForEach: _anon_7_7 -> foreach: Resolved_39; |
1417 | | |
1418 | 2.56M | ::hilti::rt::debug::dedent("spicy"sv); |
1419 | 2.56M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1420 | 2.56M | } |
1421 | | |
1422 | 2.56M | auto hlt_internal_dns_Message::DNS::Name::_t_parse__anon_7_7_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::SafeConstIterator& _t_begin, ::hilti::rt::stream::View _t_cur, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1423 | 2.56M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_3; |
1424 | 2.56M | auto _t_self = Name::_t_self(); |
1425 | 2.56M | ::hilti::rt::detail::checkStack(); |
1426 | 2.56M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:114:5-114:81"); |
1427 | 2.98M | while ( ! (::spicy::rt::detail::atEod(_t_data, _t_cur, (_t_lhs_3=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{})))) ) { |
1428 | 2.95M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_4; |
1429 | 2.95M | ::hilti::rt::stream::SafeConstIterator _t_old_begin = _t_cur.begin(); |
1430 | 2.95M | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label>> _t_elem; |
1431 | 2.95M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:127:14-150:1"); |
1432 | | |
1433 | | // Begin parsing production: Unit: DNS__Label_7 -> len_16 switch_9 (field '_anon_6', id n/a, parser, args: (msg, self)) (container '_anon_7'); |
1434 | 2.95M | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label>>((hlt_internal_dns_Message::DNS::Label{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue(), _t_self})); |
1435 | 2.95M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_elem.value())._t_parse_stage1(_t_data, _t_begin, _t_cur, _t_lah, _t_lahe, _t_error)); |
1436 | | // End parsing production: Unit: DNS__Label_7 -> len_16 switch_9 (field '_anon_6', id n/a, parser, args: (msg, self)) (container '_anon_7'); |
1437 | | |
1438 | 2.95M | ::hilti::rt::Bool _t_stop = ::hilti::rt::Bool{false}; |
1439 | 2.95M | ::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::Label> _t_dd = _t_elem.value(); |
1440 | 2.95M | _t_stop = (_t_stop) || ((((::hilti::rt::tuple::get<0>((*_t_dd).len.value().value)) == ::hilti::rt::integer::safe<std::uint8_t>{0U}) || ((::hilti::rt::tuple::get<1>((*_t_dd).len.value().value)) != ::hilti::rt::integer::safe<std::uint8_t>{0U}))); |
1441 | 2.95M | if ( ! (_t_stop) ) { |
1442 | 400k | } |
1443 | | |
1444 | 2.95M | if ( _t_stop ) { |
1445 | 2.53M | goto _t_done_97935; |
1446 | 2.53M | } |
1447 | | |
1448 | 414k | if ( (_t_cur.begin() == _t_old_begin) && (! (::spicy::rt::detail::atEod(_t_data, _t_cur, (_t_lhs_4=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}))))) ) { |
1449 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:114:5-114:81"); |
1450 | 0 | throw ::spicy::rt::ParseError{"loop body did not change input position, possible infinite loop"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:114:5-114:81"}; |
1451 | 0 | } |
1452 | 414k | } |
1453 | | |
1454 | 2.55M | _t_done_97935: {} |
1455 | | |
1456 | 2.55M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1457 | 2.56M | } |
1458 | | |
1459 | 2.56M | auto hlt_internal_dns_Message::DNS::Name::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1460 | 2.56M | auto _t_self = Name::_t_self(); |
1461 | 2.56M | ::hilti::rt::detail::checkStack(); |
1462 | 2.56M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1463 | 2.56M | ::hilti::rt::debug::indent("spicy"sv); |
1464 | 2.56M | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1465 | 2.56M | return (*_t_self)._t_parse_DNS__Name_7_stage2(_t_data, _t_begin_, _t_cur, _t_lah, _t_lahe, _t_error); |
1466 | 2.56M | } |
1467 | | |
1468 | 36.9k | auto hlt_internal_dns_Message::DNS::Pointer::_t_parse_DNS__Pointer_8_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1469 | 36.9k | ::hilti::rt::Result<::hilti::rt::Tuple<::hilti::rt::integer::safe<uint16_t>, ::hilti::rt::stream::View>> _t_x_3; |
1470 | 36.9k | auto _t_self = Pointer::_t_self(); |
1471 | 36.9k | ::hilti::rt::detail::checkStack(); |
1472 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:119:16-125:5"); |
1473 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:120:10-122:9"); |
1474 | | |
1475 | | // Begin parsing production: Variable: len_18 -> bitfield(16) { offset: 0..13; }; |
1476 | 36.9k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:120:10-122:9"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1477 | 36.9k | ::hilti::rt::tuple::assign(std::tie((*_t_self).len.valueOrInit(), _t_cur), (_t_x_3 = ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}), ::hilti::rt::make_result(::hilti::rt::tuple::make(::hilti::rt::make_bitfield(&type_info::_t_ti_bitfieldx2a16x2b_x73_offset__0__13x3e_x75_bitfieldx2a16_offset_0_13_x2b, ::hilti::rt::integer::bits(::hilti::rt::tuple::get<0>(*_t_x_3), 0, 13, ::hilti::rt::integer::BitOrder{::hilti::rt::integer::BitOrder::LSB0}), ::hilti::rt::integer::noop(::hilti::rt::tuple::get<0>(*_t_x_3))), ::hilti::rt::tuple::get<1>(*_t_x_3)))).valueOrThrow()); |
1478 | 36.9k | if ( _t_trim ) { |
1479 | 0 | (*_t_data).trim(_t_cur.begin()); |
1480 | 0 | } |
1481 | | |
1482 | | // End parsing production: Variable: len_18 -> bitfield(16) { offset: 0..13; }; |
1483 | | |
1484 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1485 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_parse_at = ((*_t_self->_t_p_msg.derefAsValue())._t_begin + ::hilti::rt::integer::safe<uint64_t>{(::hilti::rt::tuple::get<0>((*_t_self).len.value().value))}); |
1486 | 36.9k | ::hilti::rt::integer::safe<int64_t> _t_parse_lah = ::hilti::rt::integer::safe<std::int64_t>{0}; |
1487 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_parse_lahe; |
1488 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_parse_begin = _t_parse_at; |
1489 | 36.9k | ::hilti::rt::stream::View _t_parse_cur = _t_cur.advance(_t_parse_at); |
1490 | | |
1491 | | // Begin parsing production: Unit: DNS__Name_8 -> _anon_7_8 (field 'name', id n/a, parser, args: (msg)); |
1492 | 36.9k | (*_t_self).name.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1493 | 36.9k | ::hilti::rt::tuple::assign(std::tie(_t_parse_cur, _t_parse_lah, _t_parse_lahe, _t_error), (*(*_t_self).name.value())._t_parse_stage1(_t_data, _t_parse_cur, ::hilti::rt::detail::move_non_trivial(_t_parse_lah), _t_parse_lahe, _t_error)); |
1494 | | // End parsing production: Unit: DNS__Name_8 -> _anon_7_8 (field 'name', id n/a, parser, args: (msg)); |
1495 | | |
1496 | 36.9k | ::hilti::rt::debug::dedent("spicy"sv); |
1497 | 36.9k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_error)); |
1498 | 36.9k | } |
1499 | | |
1500 | 36.9k | auto hlt_internal_dns_Message::DNS::Pointer::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1501 | 36.9k | auto _t_self = Pointer::_t_self(); |
1502 | 36.9k | ::hilti::rt::detail::checkStack(); |
1503 | 36.9k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:119:16-125:5"); |
1504 | 36.9k | ::hilti::rt::debug::indent("spicy"sv); |
1505 | 36.9k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1506 | 36.9k | return (*_t_self)._t_parse_DNS__Pointer_8_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_error); |
1507 | 36.9k | } |
1508 | | |
1509 | 822k | auto hlt_internal_dns_Message::DNS::Question::_t_parse_DNS__Question_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1510 | 822k | auto _t_self = Question::_t_self(); |
1511 | 822k | ::hilti::rt::detail::checkStack(); |
1512 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:59:17-63:1"); |
1513 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1514 | | |
1515 | | // Begin parsing production: Unit: DNS__Name_2 -> _anon_7_2 (field 'qname', id n/a, parser, args: (msg)); |
1516 | 822k | (*_t_self).qname.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1517 | 822k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).qname.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1518 | | // End parsing production: Unit: DNS__Name_2 -> _anon_7_2 (field 'qname', id n/a, parser, args: (msg)); |
1519 | | |
1520 | 822k | ::hilti::rt::integer::safe<uint16_t> _t_v_qtype; |
1521 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:61:13-61:18"); |
1522 | | |
1523 | | // Begin parsing production: Variable: qtype_2 -> uint<16>; |
1524 | 822k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:61:13-61:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1525 | 822k | ::hilti::rt::tuple::assign(std::tie(_t_v_qtype, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1526 | 822k | if ( _t_trim ) { |
1527 | 0 | (*_t_data).trim(_t_cur.begin()); |
1528 | 0 | } |
1529 | | |
1530 | | // End parsing production: Variable: qtype_2 -> uint<16>; |
1531 | | |
1532 | 822k | ::hilti::rt::integer::safe<uint16_t> _t_v_qclass; |
1533 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:62:13-62:18"); |
1534 | | |
1535 | | // Begin parsing production: Variable: qclass_2 -> uint<16>; |
1536 | 822k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:62:13-62:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1537 | 822k | ::hilti::rt::tuple::assign(std::tie(_t_v_qclass, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1538 | 822k | if ( _t_trim ) { |
1539 | 0 | (*_t_data).trim(_t_cur.begin()); |
1540 | 0 | } |
1541 | | |
1542 | | // End parsing production: Variable: qclass_2 -> uint<16>; |
1543 | | |
1544 | 822k | ::hilti::rt::debug::dedent("spicy"sv); |
1545 | 822k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1546 | 822k | } |
1547 | | |
1548 | 822k | auto hlt_internal_dns_Message::DNS::Question::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1549 | 822k | auto _t_self = Question::_t_self(); |
1550 | 822k | ::hilti::rt::detail::checkStack(); |
1551 | 822k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:59:17-63:1"); |
1552 | 822k | ::hilti::rt::debug::indent("spicy"sv); |
1553 | 822k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1554 | 822k | return (*_t_self)._t_parse_DNS__Question_2_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error); |
1555 | 822k | } |
1556 | | |
1557 | 3.22k | auto hlt_internal_dns_Message::DNS::RDataMX::_t_parse_DNS__RDataMX_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1558 | 3.22k | auto _t_self = RDataMX::_t_self(); |
1559 | 3.22k | ::hilti::rt::detail::checkStack(); |
1560 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:86:16-89:1"); |
1561 | 3.22k | ::hilti::rt::integer::safe<uint16_t> _t_v_preference; |
1562 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:87:17-87:22"); |
1563 | | |
1564 | | // Begin parsing production: Variable: preference_3 -> uint<16>; |
1565 | 3.22k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:87:17-87:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1566 | 3.22k | ::hilti::rt::tuple::assign(std::tie(_t_v_preference, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1567 | 3.22k | if ( _t_trim ) { |
1568 | 0 | (*_t_data).trim(_t_cur.begin()); |
1569 | 0 | } |
1570 | | |
1571 | | // End parsing production: Variable: preference_3 -> uint<16>; |
1572 | | |
1573 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1574 | | |
1575 | | // Begin parsing production: Unit: DNS__Name_4 -> _anon_7_4 (field 'name', id n/a, parser, args: (msg)); |
1576 | 3.22k | (*_t_self).name.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1577 | 3.22k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).name.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1578 | | // End parsing production: Unit: DNS__Name_4 -> _anon_7_4 (field 'name', id n/a, parser, args: (msg)); |
1579 | | |
1580 | 3.22k | ::hilti::rt::debug::dedent("spicy"sv); |
1581 | 3.22k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1582 | 3.22k | } |
1583 | | |
1584 | 3.22k | auto hlt_internal_dns_Message::DNS::RDataMX::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1585 | 3.22k | auto _t_self = RDataMX::_t_self(); |
1586 | 3.22k | ::hilti::rt::detail::checkStack(); |
1587 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:86:16-89:1"); |
1588 | 3.22k | ::hilti::rt::debug::indent("spicy"sv); |
1589 | 3.22k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1590 | 3.22k | return (*_t_self)._t_parse_DNS__RDataMX_3_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error); |
1591 | 3.22k | } |
1592 | | |
1593 | 5.79k | auto hlt_internal_dns_Message::DNS::RDataSOA::_t_parse_DNS__RDataSOA_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1594 | 5.79k | auto _t_self = RDataSOA::_t_self(); |
1595 | 5.79k | ::hilti::rt::detail::checkStack(); |
1596 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:91:17-99:1"); |
1597 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1598 | | |
1599 | | // Begin parsing production: Unit: DNS__Name_5 -> _anon_7_5 (field 'mname', id n/a, parser, args: (msg)); |
1600 | 5.79k | (*_t_self).mname.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1601 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).mname.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1602 | | // End parsing production: Unit: DNS__Name_5 -> _anon_7_5 (field 'mname', id n/a, parser, args: (msg)); |
1603 | | |
1604 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1605 | | |
1606 | | // Begin parsing production: Unit: DNS__Name_5 -> _anon_7_5 (field 'mname', id n/a, parser, args: (msg)); |
1607 | 5.79k | (*_t_self).rname.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1608 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).rname.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1609 | | // End parsing production: Unit: DNS__Name_5 -> _anon_7_5 (field 'mname', id n/a, parser, args: (msg)); |
1610 | | |
1611 | 5.79k | ::hilti::rt::integer::safe<uint32_t> _t_v_serial; |
1612 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:94:17-94:22"); |
1613 | | |
1614 | | // Begin parsing production: Variable: serial_3 -> uint<32>; |
1615 | 5.79k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:94:17-94:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1616 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_v_serial, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1617 | 5.79k | if ( _t_trim ) { |
1618 | 0 | (*_t_data).trim(_t_cur.begin()); |
1619 | 0 | } |
1620 | | |
1621 | | // End parsing production: Variable: serial_3 -> uint<32>; |
1622 | | |
1623 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:95:17-95:22"); |
1624 | 5.79k | ::hilti::rt::integer::safe<uint32_t> _t_parsed_refresh; |
1625 | | |
1626 | | // Begin parsing production: Variable: refresh_3 -> uint<32>; |
1627 | 5.79k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:95:17-95:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1628 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_parsed_refresh, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1629 | 5.79k | if ( _t_trim ) { |
1630 | 0 | (*_t_data).trim(_t_cur.begin()); |
1631 | 0 | } |
1632 | | |
1633 | | // End parsing production: Variable: refresh_3 -> uint<32>; |
1634 | | |
1635 | 5.79k | ::hilti::rt::Interval{::hilti::rt::integer::safe<uint64_t>{::hilti::rt::detail::move_non_trivial(_t_parsed_refresh)} * 1000000000, ::hilti::rt::Interval::NanosecondTag{}}; |
1636 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:96:17-96:22"); |
1637 | 5.79k | ::hilti::rt::integer::safe<uint32_t> _t_parsed_retry; |
1638 | | |
1639 | | // Begin parsing production: Variable: retry_3 -> uint<32>; |
1640 | 5.79k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:96:17-96:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1641 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_parsed_retry, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1642 | 5.79k | if ( _t_trim ) { |
1643 | 0 | (*_t_data).trim(_t_cur.begin()); |
1644 | 0 | } |
1645 | | |
1646 | | // End parsing production: Variable: retry_3 -> uint<32>; |
1647 | | |
1648 | 5.79k | ::hilti::rt::Interval{::hilti::rt::integer::safe<uint64_t>{::hilti::rt::detail::move_non_trivial(_t_parsed_retry)} * 1000000000, ::hilti::rt::Interval::NanosecondTag{}}; |
1649 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:97:17-97:22"); |
1650 | 5.79k | ::hilti::rt::integer::safe<uint32_t> _t_parsed_expire; |
1651 | | |
1652 | | // Begin parsing production: Variable: expire_3 -> uint<32>; |
1653 | 5.79k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:97:17-97:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1654 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_parsed_expire, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1655 | 5.79k | if ( _t_trim ) { |
1656 | 0 | (*_t_data).trim(_t_cur.begin()); |
1657 | 0 | } |
1658 | | |
1659 | | // End parsing production: Variable: expire_3 -> uint<32>; |
1660 | | |
1661 | 5.79k | ::hilti::rt::Interval{::hilti::rt::integer::safe<uint64_t>{::hilti::rt::detail::move_non_trivial(_t_parsed_expire)} * 1000000000, ::hilti::rt::Interval::NanosecondTag{}}; |
1662 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:98:17-98:22"); |
1663 | 5.79k | ::hilti::rt::integer::safe<uint32_t> _t_parsed_minimum; |
1664 | | |
1665 | | // Begin parsing production: Variable: minimum_3 -> uint<32>; |
1666 | 5.79k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:98:17-98:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1667 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_parsed_minimum, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1668 | 5.79k | if ( _t_trim ) { |
1669 | 0 | (*_t_data).trim(_t_cur.begin()); |
1670 | 0 | } |
1671 | | |
1672 | | // End parsing production: Variable: minimum_3 -> uint<32>; |
1673 | | |
1674 | 5.79k | ::hilti::rt::Interval{::hilti::rt::integer::safe<uint64_t>{::hilti::rt::detail::move_non_trivial(_t_parsed_minimum)} * 1000000000, ::hilti::rt::Interval::NanosecondTag{}}; |
1675 | 5.79k | ::hilti::rt::debug::dedent("spicy"sv); |
1676 | 5.79k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1677 | 5.79k | } |
1678 | | |
1679 | 5.79k | auto hlt_internal_dns_Message::DNS::RDataSOA::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1680 | 5.79k | auto _t_self = RDataSOA::_t_self(); |
1681 | 5.79k | ::hilti::rt::detail::checkStack(); |
1682 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:91:17-99:1"); |
1683 | 5.79k | ::hilti::rt::debug::indent("spicy"sv); |
1684 | 5.79k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1685 | 5.79k | return (*_t_self)._t_parse_DNS__RDataSOA_3_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error); |
1686 | 5.79k | } |
1687 | | |
1688 | 4.17k | auto hlt_internal_dns_Message::DNS::RDataSRV::_t_parse_DNS__RDataSRV_3_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1689 | 4.17k | auto _t_self = RDataSRV::_t_self(); |
1690 | 4.17k | ::hilti::rt::detail::checkStack(); |
1691 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:101:17-106:1"); |
1692 | 4.17k | ::hilti::rt::integer::safe<uint16_t> _t_v_priority_; |
1693 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:102:17-102:22"); |
1694 | | |
1695 | | // Begin parsing production: Variable: priority__3 -> uint<16>; |
1696 | 4.17k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:102:17-102:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1697 | 4.17k | ::hilti::rt::tuple::assign(std::tie(_t_v_priority_, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1698 | 4.17k | if ( _t_trim ) { |
1699 | 0 | (*_t_data).trim(_t_cur.begin()); |
1700 | 0 | } |
1701 | | |
1702 | | // End parsing production: Variable: priority__3 -> uint<16>; |
1703 | | |
1704 | 4.17k | ::hilti::rt::integer::safe<uint16_t> _t_v_weight; |
1705 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:103:17-103:22"); |
1706 | | |
1707 | | // Begin parsing production: Variable: weight_3 -> uint<16>; |
1708 | 4.17k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:103:17-103:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1709 | 4.17k | ::hilti::rt::tuple::assign(std::tie(_t_v_weight, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1710 | 4.17k | if ( _t_trim ) { |
1711 | 0 | (*_t_data).trim(_t_cur.begin()); |
1712 | 0 | } |
1713 | | |
1714 | | // End parsing production: Variable: weight_3 -> uint<16>; |
1715 | | |
1716 | 4.17k | ::hilti::rt::integer::safe<uint16_t> _t_v_port_; |
1717 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:104:17-104:22"); |
1718 | | |
1719 | | // Begin parsing production: Variable: port__3 -> uint<16>; |
1720 | 4.17k | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:104:17-104:22"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1721 | 4.17k | ::hilti::rt::tuple::assign(std::tie(_t_v_port_, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1722 | 4.17k | if ( _t_trim ) { |
1723 | 0 | (*_t_data).trim(_t_cur.begin()); |
1724 | 0 | } |
1725 | | |
1726 | | // End parsing production: Variable: port__3 -> uint<16>; |
1727 | | |
1728 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1729 | | |
1730 | | // Begin parsing production: Unit: DNS__Name_6 -> _anon_7_6 (field 'target', id n/a, parser, args: (msg)); |
1731 | 4.17k | (*_t_self).target.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1732 | 4.17k | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).target.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1733 | | // End parsing production: Unit: DNS__Name_6 -> _anon_7_6 (field 'target', id n/a, parser, args: (msg)); |
1734 | | |
1735 | 4.17k | ::hilti::rt::debug::dedent("spicy"sv); |
1736 | 4.17k | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1737 | 4.17k | } |
1738 | | |
1739 | 4.17k | auto hlt_internal_dns_Message::DNS::RDataSRV::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1740 | 4.17k | auto _t_self = RDataSRV::_t_self(); |
1741 | 4.17k | ::hilti::rt::detail::checkStack(); |
1742 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:101:17-106:1"); |
1743 | 4.17k | ::hilti::rt::debug::indent("spicy"sv); |
1744 | 4.17k | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1745 | 4.17k | return (*_t_self)._t_parse_DNS__RDataSRV_3_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error); |
1746 | 4.17k | } |
1747 | | |
1748 | 1.67M | auto hlt_internal_dns_Message::DNS::ResourceRecord::_t_parse_DNS__ResourceRecord_2_stage2(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1749 | 1.67M | auto _t_self = ResourceRecord::_t_self(); |
1750 | 1.67M | ::hilti::rt::detail::checkStack(); |
1751 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:65:23-84:1"); |
1752 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1753 | | |
1754 | | // Begin parsing production: Unit: DNS__Name_3 -> _anon_7_3 (field 'name', id n/a, parser, args: (msg)); |
1755 | 1.67M | (*_t_self).name.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1756 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*(*_t_self).name.value())._t_parse_stage1(_t_data, _t_cur, _t_lah, _t_lahe, _t_error)); |
1757 | | // End parsing production: Unit: DNS__Name_3 -> _anon_7_3 (field 'name', id n/a, parser, args: (msg)); |
1758 | | |
1759 | 1.67M | DNS::RDType _t_v_ty = DNS::RDType::Undef; |
1760 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:67:13-67:18"); |
1761 | 1.67M | ::hilti::rt::integer::safe<uint16_t> _t_parsed_ty; |
1762 | | |
1763 | | // Begin parsing production: Variable: ty_2 -> uint<16>; |
1764 | 1.67M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:67:13-67:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1765 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_parsed_ty, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1766 | 1.67M | if ( _t_trim ) { |
1767 | 0 | (*_t_data).trim(_t_cur.begin()); |
1768 | 0 | } |
1769 | | |
1770 | | // End parsing production: Variable: ty_2 -> uint<16>; |
1771 | | |
1772 | 1.67M | _t_v_ty = DNS::RDType{::hilti::rt::detail::move_non_trivial(_t_parsed_ty)}; |
1773 | 1.67M | (*_t_self).ty.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_ty); |
1774 | 1.67M | ::hilti::rt::integer::safe<uint16_t> _t_v_class; |
1775 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:68:13-68:18"); |
1776 | | |
1777 | | // Begin parsing production: Variable: class_2 -> uint<16>; |
1778 | 1.67M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:68:13-68:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1779 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_v_class, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1780 | 1.67M | if ( _t_trim ) { |
1781 | 0 | (*_t_data).trim(_t_cur.begin()); |
1782 | 0 | } |
1783 | | |
1784 | | // End parsing production: Variable: class_2 -> uint<16>; |
1785 | | |
1786 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:69:13-69:18"); |
1787 | 1.67M | ::hilti::rt::integer::safe<uint32_t> _t_parsed_ttl; |
1788 | | |
1789 | | // Begin parsing production: Variable: ttl_2 -> uint<32>; |
1790 | 1.67M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:69:13-69:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1791 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_parsed_ttl, _t_cur), ::hilti::rt::integer::unpack<uint32_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1792 | 1.67M | if ( _t_trim ) { |
1793 | 0 | (*_t_data).trim(_t_cur.begin()); |
1794 | 0 | } |
1795 | | |
1796 | | // End parsing production: Variable: ttl_2 -> uint<32>; |
1797 | | |
1798 | 1.67M | ::hilti::rt::Interval{::hilti::rt::integer::safe<uint64_t>{::hilti::rt::detail::move_non_trivial(_t_parsed_ttl)} * 1000000000, ::hilti::rt::Interval::NanosecondTag{}}; |
1799 | 1.67M | ::hilti::rt::integer::safe<uint16_t> _t_v_rdlen; |
1800 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:70:13-70:18"); |
1801 | | |
1802 | | // Begin parsing production: Variable: rdlen_2 -> uint<16>; |
1803 | 1.67M | ::spicy::rt::detail::waitForInput(_t_data, _t_cur, ::hilti::rt::integer::safe<std::uint64_t>{2U}, "expecting 2 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:70:13-70:18"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1804 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_v_rdlen, _t_cur), ::hilti::rt::integer::unpack<uint16_t>(_t_cur, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1805 | 1.67M | if ( _t_trim ) { |
1806 | 0 | (*_t_data).trim(_t_cur.begin()); |
1807 | 0 | } |
1808 | | |
1809 | | // End parsing production: Variable: rdlen_2 -> uint<16>; |
1810 | | |
1811 | 1.67M | (*_t_self).rdlen.valueOrInit() = ::hilti::rt::detail::move_non_trivial(_t_v_rdlen); |
1812 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:72:5-83:23"); |
1813 | | |
1814 | | // Begin parsing production: Switch: switch_5 -> [RDType::NS,RDType::CNAME,RDType::PTR] -> switch_5_case_1 | [RDType::A] -> switch_5_case_2 | [RDType::AAAA] -> switch_5_case_3 | [RDType::MX] -> switch_5_case_4 | [RDType::SOA] -> switch_5_case_5 | [RDType::SRV] -> switch_5_case_6 | [RDType::TXT] -> switch_5_case_7 | | * -> switch_5_default; |
1815 | 1.67M | ::hilti::rt::tuple::assign(std::tie(_t_cur, _t_lah, _t_lahe, _t_error), (*_t_self)._t_parse_switch_5_stage1(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error)); |
1816 | | // End parsing production: Switch: switch_5 -> [RDType::NS,RDType::CNAME,RDType::PTR] -> switch_5_case_1 | [RDType::A] -> switch_5_case_2 | [RDType::AAAA] -> switch_5_case_3 | [RDType::MX] -> switch_5_case_4 | [RDType::SOA] -> switch_5_case_5 | [RDType::SRV] -> switch_5_case_6 | [RDType::TXT] -> switch_5_case_7 | | * -> switch_5_default; |
1817 | | |
1818 | 1.67M | ::hilti::rt::debug::dedent("spicy"sv); |
1819 | 1.67M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_cur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
1820 | 1.67M | } |
1821 | | |
1822 | 1.67M | auto hlt_internal_dns_Message::DNS::ResourceRecord::_t_parse_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, const ::hilti::rt::stream::View& _t_cur, const ::hilti::rt::Bool& _t_trim, const ::hilti::rt::integer::safe<int64_t>& _t_lah, const ::hilti::rt::stream::SafeConstIterator& _t_lahe, const ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>& _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1823 | 1.67M | auto _t_self = ResourceRecord::_t_self(); |
1824 | 1.67M | ::hilti::rt::detail::checkStack(); |
1825 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:65:23-84:1"); |
1826 | 1.67M | ::hilti::rt::debug::indent("spicy"sv); |
1827 | 1.67M | ::hilti::rt::stream::SafeConstIterator _t_begin_ = _t_cur.begin(); |
1828 | 1.67M | return (*_t_self)._t_parse_DNS__ResourceRecord_2_stage2(_t_data, _t_cur, _t_trim, _t_lah, _t_lahe, _t_error); |
1829 | 1.67M | } |
1830 | | |
1831 | 1.67M | auto hlt_internal_dns_Message::DNS::ResourceRecord::_t_parse_switch_5_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, ::hilti::rt::Bool _t_trim, ::hilti::rt::integer::safe<int64_t> _t_lah, ::hilti::rt::stream::SafeConstIterator _t_lahe, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure> _t_error) -> ::hilti::rt::Tuple<::hilti::rt::stream::View, ::hilti::rt::integer::safe<int64_t>, ::hilti::rt::stream::SafeConstIterator, ::hilti::rt::Optional<::hilti::rt::RecoverableFailure>> { |
1832 | 1.67M | auto _t_self = ResourceRecord::_t_self(); |
1833 | 1.67M | ::hilti::rt::detail::checkStack(); |
1834 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:72:5-83:23"); |
1835 | 1.67M | ::hilti::rt::debug::indent("spicy"sv); |
1836 | 1.67M | ::hilti::rt::integer::safe<uint64_t> _t_size = ::hilti::rt::integer::safe<uint64_t>{(*_t_self).rdlen.value()}; |
1837 | 1.67M | ::hilti::rt::stream::View _t_limited_field = _t_cur.limit(_t_size); |
1838 | 1.67M | ::hilti::rt::stream::View _t_ncur = _t_cur.advance(_t_size); |
1839 | 1.67M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:72:5-83:23"); |
1840 | 1.67M | switch ( auto _t_x = (*_t_self).ty.value(); (_t_x).value() ) { |
1841 | 10.0k | case (DNS::RDType{DNS::RDType::NS}).value(): case (DNS::RDType{DNS::RDType::CNAME}).value(): case (DNS::RDType{DNS::RDType::PTR}).value(): { |
1842 | 10.0k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:73:9-74:43"); |
1843 | 10.0k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:73:9-74:43"); |
1844 | | |
1845 | | // Begin parsing production: Block: switch_5_case_1 -> Resolved_18; |
1846 | 10.0k | ::hilti::rt::debug::indent("spicy"sv); |
1847 | 10.0k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:113:13-117:1"); |
1848 | | |
1849 | | // Begin parsing production: Unit: DNS__Name_3 -> _anon_7_3 (field 'name', id n/a, parser, args: (msg)); |
1850 | 10.0k | (*_t_self).rname.valueOrInit() = (hlt_internal_dns_Message::DNS::Name{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1851 | 10.0k | ::hilti::rt::tuple::assign(std::tie(_t_limited_field, _t_lah, _t_lahe, _t_error), (*(*_t_self).rname.value())._t_parse_stage1(_t_data, _t_limited_field, _t_lah, _t_lahe, _t_error)); |
1852 | | // End parsing production: Unit: DNS__Name_3 -> _anon_7_3 (field 'name', id n/a, parser, args: (msg)); |
1853 | | |
1854 | 10.0k | ::hilti::rt::debug::dedent("spicy"sv); |
1855 | | // End parsing production: Block: switch_5_case_1 -> Resolved_18; |
1856 | | |
1857 | 10.0k | break; |
1858 | 8.94k | } |
1859 | 1.35k | case (DNS::RDType{DNS::RDType::A}).value(): { |
1860 | 1.35k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:75:9-75:44"); |
1861 | 1.35k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:75:9-75:44"); |
1862 | | |
1863 | | // Begin parsing production: Block: switch_5_case_2 -> a_3; |
1864 | 1.35k | ::hilti::rt::debug::indent("spicy"sv); |
1865 | 1.35k | ::hilti::rt::Address _t_v_a; |
1866 | 1.35k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:75:34-75:37"); |
1867 | | |
1868 | | // Begin parsing production: Variable: a_3 -> addr; |
1869 | 1.35k | ::spicy::rt::detail::waitForInput(_t_data, _t_limited_field, ::hilti::rt::integer::safe<std::uint64_t>{4U}, "expecting 4 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:75:34-75:37"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1870 | 1.35k | ::hilti::rt::tuple::assign(std::tie(_t_v_a, _t_limited_field), ::hilti::rt::address::unpack(_t_limited_field, ::hilti::rt::AddressFamily{::hilti::rt::AddressFamily::IPv4}, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1871 | 1.35k | if ( _t_trim ) { |
1872 | 0 | (*_t_data).trim(_t_limited_field.begin()); |
1873 | 0 | } |
1874 | | |
1875 | | // End parsing production: Variable: a_3 -> addr; |
1876 | | |
1877 | 1.35k | ::hilti::rt::debug::dedent("spicy"sv); |
1878 | | // End parsing production: Block: switch_5_case_2 -> a_3; |
1879 | | |
1880 | 1.35k | break; |
1881 | 8.94k | } |
1882 | 2.71k | case (DNS::RDType{DNS::RDType::AAAA}).value(): { |
1883 | 2.71k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:76:9-76:44"); |
1884 | 2.71k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:76:9-76:44"); |
1885 | | |
1886 | | // Begin parsing production: Block: switch_5_case_3 -> a_4; |
1887 | 2.71k | ::hilti::rt::debug::indent("spicy"sv); |
1888 | 2.71k | ::hilti::rt::Address _t_v_a; |
1889 | 2.71k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:76:34-76:37"); |
1890 | | |
1891 | | // Begin parsing production: Variable: a_4 -> addr; |
1892 | 2.71k | ::spicy::rt::detail::waitForInput(_t_data, _t_limited_field, ::hilti::rt::integer::safe<std::uint64_t>{16U}, "expecting 16 bytes for unpacking value"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:76:34-76:37"sv, ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}); |
1893 | 2.71k | ::hilti::rt::tuple::assign(std::tie(_t_v_a, _t_limited_field), ::hilti::rt::address::unpack(_t_limited_field, ::hilti::rt::AddressFamily{::hilti::rt::AddressFamily::IPv6}, ::hilti::rt::ByteOrder{::hilti::rt::ByteOrder::Network}).valueOrThrow()); |
1894 | 2.71k | if ( _t_trim ) { |
1895 | 0 | (*_t_data).trim(_t_limited_field.begin()); |
1896 | 0 | } |
1897 | | |
1898 | | // End parsing production: Variable: a_4 -> addr; |
1899 | | |
1900 | 2.71k | ::hilti::rt::debug::dedent("spicy"sv); |
1901 | | // End parsing production: Block: switch_5_case_3 -> a_4; |
1902 | | |
1903 | 2.71k | break; |
1904 | 8.94k | } |
1905 | 3.22k | case (DNS::RDType{DNS::RDType::MX}).value(): { |
1906 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:77:9-77:46"); |
1907 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:77:9-77:46"); |
1908 | | |
1909 | | // Begin parsing production: Block: switch_5_case_4 -> Resolved_21; |
1910 | 3.22k | ::hilti::rt::debug::indent("spicy"sv); |
1911 | 3.22k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:86:16-89:1"); |
1912 | | |
1913 | | // Begin parsing production: Unit: DNS__RDataMX_2 -> preference_2 Resolved_18 (field 'mx', id n/a, parser, args: (msg)); |
1914 | 3.22k | (*_t_self).mx.valueOrInit() = (hlt_internal_dns_Message::DNS::RDataMX{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1915 | 3.22k | ::hilti::rt::tuple::assign(std::tie(_t_limited_field, _t_lah, _t_lahe, _t_error), (*(*_t_self).mx.value())._t_parse_stage1(_t_data, _t_limited_field, _t_trim, _t_lah, _t_lahe, _t_error)); |
1916 | | // End parsing production: Unit: DNS__RDataMX_2 -> preference_2 Resolved_18 (field 'mx', id n/a, parser, args: (msg)); |
1917 | | |
1918 | 3.22k | ::hilti::rt::debug::dedent("spicy"sv); |
1919 | | // End parsing production: Block: switch_5_case_4 -> Resolved_21; |
1920 | | |
1921 | 3.22k | break; |
1922 | 8.94k | } |
1923 | 5.79k | case (DNS::RDType{DNS::RDType::SOA}).value(): { |
1924 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:78:9-78:47"); |
1925 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:78:9-78:47"); |
1926 | | |
1927 | | // Begin parsing production: Block: switch_5_case_5 -> Resolved_22; |
1928 | 5.79k | ::hilti::rt::debug::indent("spicy"sv); |
1929 | 5.79k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:91:17-99:1"); |
1930 | | |
1931 | | // Begin parsing production: Unit: DNS__RDataSOA_2 -> Resolved_18 Resolved_18 serial_2 refresh_2 retry_2 expire_2 minimum_2 (field 'soa', id n/a, parser, args: (msg)); |
1932 | 5.79k | (*_t_self).soa.valueOrInit() = (hlt_internal_dns_Message::DNS::RDataSOA{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1933 | 5.79k | ::hilti::rt::tuple::assign(std::tie(_t_limited_field, _t_lah, _t_lahe, _t_error), (*(*_t_self).soa.value())._t_parse_stage1(_t_data, _t_limited_field, _t_trim, _t_lah, _t_lahe, _t_error)); |
1934 | | // End parsing production: Unit: DNS__RDataSOA_2 -> Resolved_18 Resolved_18 serial_2 refresh_2 retry_2 expire_2 minimum_2 (field 'soa', id n/a, parser, args: (msg)); |
1935 | | |
1936 | 5.79k | ::hilti::rt::debug::dedent("spicy"sv); |
1937 | | // End parsing production: Block: switch_5_case_5 -> Resolved_22; |
1938 | | |
1939 | 5.79k | break; |
1940 | 8.94k | } |
1941 | 4.17k | case (DNS::RDType{DNS::RDType::SRV}).value(): { |
1942 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:79:9-79:47"); |
1943 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:79:9-79:47"); |
1944 | | |
1945 | | // Begin parsing production: Block: switch_5_case_6 -> Resolved_23; |
1946 | 4.17k | ::hilti::rt::debug::indent("spicy"sv); |
1947 | 4.17k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:101:17-106:1"); |
1948 | | |
1949 | | // Begin parsing production: Unit: DNS__RDataSRV_2 -> priority__2 weight_2 port__2 Resolved_18 (field 'srv', id n/a, parser, args: (msg)); |
1950 | 4.17k | (*_t_self).srv.valueOrInit() = (hlt_internal_dns_Message::DNS::RDataSRV{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()}); |
1951 | 4.17k | ::hilti::rt::tuple::assign(std::tie(_t_limited_field, _t_lah, _t_lahe, _t_error), (*(*_t_self).srv.value())._t_parse_stage1(_t_data, _t_limited_field, _t_trim, _t_lah, _t_lahe, _t_error)); |
1952 | | // End parsing production: Unit: DNS__RDataSRV_2 -> priority__2 weight_2 port__2 Resolved_18 (field 'srv', id n/a, parser, args: (msg)); |
1953 | | |
1954 | 4.17k | ::hilti::rt::debug::dedent("spicy"sv); |
1955 | | // End parsing production: Block: switch_5_case_6 -> Resolved_23; |
1956 | | |
1957 | 4.17k | break; |
1958 | 8.94k | } |
1959 | 14.4k | case (DNS::RDType{DNS::RDType::TXT}).value(): { |
1960 | 14.4k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:9-80:63"); |
1961 | 14.4k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:9-80:63"); |
1962 | | |
1963 | | // Begin parsing production: Block: switch_5_case_7 -> txt_2; |
1964 | 14.4k | ::hilti::rt::debug::indent("spicy"sv); |
1965 | 14.4k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:25-80:63"); |
1966 | | |
1967 | | // Begin parsing production: ForEach: txt_2 -> foreach: Resolved_24; |
1968 | 14.4k | _t_limited_field = (*_t_self)._t_parse_txt_2_stage1(_t_data, _t_limited_field, _t_trim, (*_t_self).txt.valueOrInit()); |
1969 | | // End parsing production: ForEach: txt_2 -> foreach: Resolved_24; |
1970 | | |
1971 | 14.4k | ::hilti::rt::debug::dedent("spicy"sv); |
1972 | | // End parsing production: Block: switch_5_case_7 -> txt_2; |
1973 | | |
1974 | 14.4k | break; |
1975 | 8.94k | } |
1976 | 1.63M | default: { |
1977 | 1.63M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_5; |
1978 | 1.63M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:82:9-82:44"); |
1979 | 1.63M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:82:9-82:44"); |
1980 | | |
1981 | | // Begin parsing production: Block: switch_5_default -> rdata_2; |
1982 | 1.63M | ::hilti::rt::debug::indent("spicy"sv); |
1983 | 1.63M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:82:34-82:38"); |
1984 | | |
1985 | | // Begin parsing production: Variable: rdata_2 -> bytes; |
1986 | 1.63M | ::spicy::rt::detail::waitForEod(_t_data, _t_limited_field, (_t_lhs_5=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}))); |
1987 | 1.63M | _t_limited_field = _t_limited_field.advance(_t_limited_field.size()); |
1988 | 1.63M | if ( _t_trim ) { |
1989 | 0 | (*_t_data).trim(_t_limited_field.begin()); |
1990 | 0 | } |
1991 | | |
1992 | 1.63M | if ( _t_trim ) { |
1993 | 0 | (*_t_data).trim(_t_limited_field.begin()); |
1994 | 0 | } |
1995 | | |
1996 | | // End parsing production: Variable: rdata_2 -> bytes; |
1997 | | |
1998 | 1.63M | ::hilti::rt::debug::dedent("spicy"sv); |
1999 | | // End parsing production: Block: switch_5_default -> rdata_2; |
2000 | 1.63M | } |
2001 | 1.67M | } |
2002 | 1.67M | if ( _t_limited_field.offset() < _t_ncur.offset() ) { |
2003 | 515 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:83:7-83:22"); |
2004 | 515 | throw ::spicy::rt::ParseError{::hilti::rt::fmt("&size amount not consumed: expected %lu bytes, but got %lu bytes"sv, _t_size, _t_limited_field.offset() - (_t_ncur.offset() - _t_size)), "/src/spicy/spicy-dns/analyzer/analyzer.spicy:83:7-83:22"}; |
2005 | 515 | } |
2006 | | |
2007 | 1.67M | _t_cur = _t_ncur; |
2008 | 1.67M | ::hilti::rt::debug::dedent("spicy"sv); |
2009 | 1.67M | return ::hilti::rt::tuple::make_from_optionals(::hilti::rt::optional::make(_t_ncur), ::hilti::rt::optional::make(_t_lah), ::hilti::rt::optional::make(_t_lahe), ::hilti::rt::optional::make(_t_error)); |
2010 | 1.67M | } |
2011 | | |
2012 | 14.4k | auto hlt_internal_dns_Message::DNS::ResourceRecord::_t_parse_txt_2_stage1(::hilti::rt::ValueReference<::hilti::rt::Stream>& _t_data, ::hilti::rt::stream::View _t_cur, const ::hilti::rt::Bool& _t_trim, ::hilti::rt::Vector<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>& _t_dst) -> ::hilti::rt::stream::View { |
2013 | 14.4k | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_6; |
2014 | 14.4k | auto _t_self = ResourceRecord::_t_self(); |
2015 | 14.4k | ::hilti::rt::detail::checkStack(); |
2016 | 14.4k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:25-80:63"); |
2017 | 2.33M | while ( ! (::spicy::rt::detail::atEod(_t_data, _t_cur, (_t_lhs_6=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{})))) ) { |
2018 | 2.31M | ::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters> _t_lhs_7; |
2019 | 2.31M | ::hilti::rt::stream::SafeConstIterator _t_old_begin = _t_cur.begin(); |
2020 | 2.31M | ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>> _t_elem; |
2021 | 2.31M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:108:24-111:1"); |
2022 | | |
2023 | | // Begin parsing production: Unit: DNS__CharacterString_2 -> len_8 data_2 (field '_anon_5', id n/a, parser, args: (msg)) (container 'txt'); |
2024 | 2.31M | _t_elem = ::hilti::rt::Optional<::hilti::rt::ValueReference<hlt_internal_dns_Message::DNS::CharacterString>>((hlt_internal_dns_Message::DNS::CharacterString{::hilti::rt::struct_::tag::Parameters(), _t_self->_t_p_msg.derefAsValue()})); |
2025 | 2.31M | _t_cur = (*_t_elem.value())._t_parse_stage1(_t_data, _t_cur, _t_trim); |
2026 | | // End parsing production: Unit: DNS__CharacterString_2 -> len_8 data_2 (field '_anon_5', id n/a, parser, args: (msg)) (container 'txt'); |
2027 | | |
2028 | 2.31M | _t_dst.emplace_back(::hilti::rt::detail::move_non_trivial(_t_elem).value()); |
2029 | 2.31M | if ( (_t_cur.begin() == _t_old_begin) && (! (::spicy::rt::detail::atEod(_t_data, _t_cur, (_t_lhs_7=(::hilti::rt::StrongReference<::spicy::rt::filter::detail::Filters>{}))))) ) { |
2030 | 0 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:25-80:63"); |
2031 | 0 | throw ::spicy::rt::ParseError{"loop body did not change input position, possible infinite loop"sv, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:80:25-80:63"}; |
2032 | 0 | } |
2033 | 2.31M | } |
2034 | | |
2035 | 14.4k | return _t_cur; |
2036 | 14.4k | } |
2037 | | |
2038 | 2.94k | extern void hlt_internal_dns_Message::DNS::_t_hook_Header__t_on_0x25_done_17022904905284755206(::hilti::rt::ValueReference<Header>& _t_self) { |
2039 | 2.94k | ::hilti::rt::detail::checkStack(); |
2040 | 2.94k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:48:9-55:48"); |
2041 | 2.94k | if ( (*_t_self).qdcount.value() == ::hilti::rt::integer::safe<std::uint16_t>{0U} ) { |
2042 | 2.38k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:49:13-49:51"); |
2043 | 2.38k | ((::hilti::rt::tuple::get<9>((*_t_self).flags.value().value)) != ::hilti::rt::integer::safe<std::uint16_t>{0U}); |
2044 | 2.38k | } |
2045 | 559 | else { |
2046 | 559 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:52:13-55:47"); |
2047 | 559 | (((((::hilti::rt::tuple::get<0>((*_t_self).flags.value().value)) == ::hilti::rt::integer::safe<std::uint16_t>{1U}) && ((*_t_self).ancount.value() == ::hilti::rt::integer::safe<std::uint16_t>{0U})) && ((*_t_self).nscount.value() == ::hilti::rt::integer::safe<std::uint16_t>{0U})) && ((*_t_self).arcount.value() == ::hilti::rt::integer::safe<std::uint16_t>{0U})); |
2048 | 559 | } |
2049 | 2.94k | } |
2050 | | |
2051 | 2.91M | extern void hlt_internal_dns_Message::DNS::_t_hook_Label__t_on_label_751145481021401729(::hilti::rt::ValueReference<Label>& _t_self) { |
2052 | 2.91M | ::hilti::rt::detail::checkStack(); |
2053 | 2.91M | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:135:21-139:25"); |
2054 | 2.91M | if ( ::hilti::rt::Bool{static_cast<bool>((*_t_self).label.value().size())} ) { |
2055 | 400k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:136:25-136:42"); |
2056 | 400k | (*_t_self->_t_p_name.derefAsValue()).label.append("."_b); |
2057 | 400k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:137:25-137:48"); |
2058 | 400k | (*_t_self->_t_p_name.derefAsValue()).label.append((*_t_self).label.value()); |
2059 | 400k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:138:25-138:52"); |
2060 | 400k | assert_label_len((*_t_self->_t_p_name.derefAsValue()).label); |
2061 | 400k | } |
2062 | 2.91M | } |
2063 | | |
2064 | 23.6k | extern void hlt_internal_dns_Message::DNS::_t_hook_Label__t_on_ptr_7802471963454539575(::hilti::rt::ValueReference<Label>& _t_self) { |
2065 | 23.6k | ::hilti::rt::detail::checkStack(); |
2066 | 23.6k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:143:21-143:53"); |
2067 | 23.6k | (*_t_self->_t_p_name.derefAsValue()).label.append((*(*(*_t_self).ptr.value()).name.value()).label); |
2068 | 23.6k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:144:21-144:48"); |
2069 | 23.6k | assert_label_len((*_t_self->_t_p_name.derefAsValue()).label); |
2070 | 23.6k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:147:21-147:52"); |
2071 | 23.6k | (*_t_self)._t_position_update = ::hilti::rt::Optional<::hilti::rt::stream::SafeConstIterator>((*_t_self)._t_begin + ::hilti::rt::integer::safe<std::uint64_t>{2U}); |
2072 | 23.6k | } |
2073 | | |
2074 | 1 | extern void hlt_internal_dns_Message::DNS::_t_init_module() { |
2075 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_CharacterString(); |
2076 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Header(); |
2077 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Label(); |
2078 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Message(); |
2079 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Name(); |
2080 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Pointer(); |
2081 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_Question(); |
2082 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_RDataMX(); |
2083 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_RDataSOA(); |
2084 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_RDataSRV(); |
2085 | 1 | hlt_internal_dns_Message::DNS::_t_register_DNS_ResourceRecord(); |
2086 | 1 | } |
2087 | | |
2088 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_CharacterString() { ::hilti::rt::detail::checkStack(); } |
2089 | | |
2090 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Header() { ::hilti::rt::detail::checkStack(); } |
2091 | | |
2092 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Label() { ::hilti::rt::detail::checkStack(); } |
2093 | | |
2094 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Message() { |
2095 | 1 | ::hilti::rt::detail::checkStack(); |
2096 | 1 | DNS::Message::_t_parser = ::spicy::rt::Parser{::hilti::rt::struct_::tag::Inits(), "DNS::Message"sv, ::hilti::rt::Bool{true}, hlt_dns_Message::DNS::Message::parse1, hlt_dns_Message::DNS::Message::parse2, hlt_dns_Message::DNS::Message::parse3, ::hilti::rt::Null{}, &type_info::_t_ti_DNS__Message_namex2aDNS__Messagex2b, ""_hs, ::hilti::rt::Vector<::spicy::rt::MIMEType>({}), ::hilti::rt::Vector<::spicy::rt::ParserPort>({})}; |
2097 | 1 | ::spicy::rt::detail::registerParser(DNS::Message::_t_parser, hlt_internal_dns_Message_hlto_scope, ::hilti::rt::StrongReference<hlt_internal_dns_Message::DNS::Message>{}, &type_info::_t_ti_strong_ref_const_DNS__Message__strong_refx2anamex2aDNS__Messagex2bx2b); |
2098 | 1 | } |
2099 | | |
2100 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Name() { ::hilti::rt::detail::checkStack(); } |
2101 | | |
2102 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Pointer() { ::hilti::rt::detail::checkStack(); } |
2103 | | |
2104 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_Question() { ::hilti::rt::detail::checkStack(); } |
2105 | | |
2106 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_RDataMX() { ::hilti::rt::detail::checkStack(); } |
2107 | | |
2108 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_RDataSOA() { ::hilti::rt::detail::checkStack(); } |
2109 | | |
2110 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_RDataSRV() { ::hilti::rt::detail::checkStack(); } |
2111 | | |
2112 | 1 | extern void hlt_internal_dns_Message::DNS::_t_register_DNS_ResourceRecord() { ::hilti::rt::detail::checkStack(); } |
2113 | | |
2114 | 2 | extern void hlt_internal_dns_Message::DNS::_t_register_module() { |
2115 | 2 | ::hilti::rt::Library::setScope(&hlt_internal_dns_Message_hlto_scope); |
2116 | 2 | ::hilti::rt::detail::registerModule({ "DNS", hlt_internal_dns_Message_hlto_scope, &_t_init_module, nullptr, nullptr, nullptr}); |
2117 | 2 | } |
2118 | | |
2119 | 424k | static void hlt_internal_dns_Message::DNS::assert_label_len(const ::hilti::rt::Bytes& labels) { |
2120 | 424k | ::hilti::rt::detail::checkStack(); |
2121 | 424k | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:156:5-157:56"); |
2122 | 424k | if ( labels.size() > ::hilti::rt::integer::safe<std::uint64_t>{1024U} ) { |
2123 | 10 | ::hilti::rt::location("/src/spicy/spicy-dns/analyzer/analyzer.spicy:157:9-157:56"); |
2124 | 10 | throw ::spicy::rt::ParseError{"maximum supported label length exceeded"_hs, "/src/spicy/spicy-dns/analyzer/analyzer.spicy:157:9-157:56"}; |
2125 | 10 | } |
2126 | 424k | } |
2127 | | |
2128 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Header& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2129 | | |
2130 | 0 | inline auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, RDType x) -> std::ostream& { o << ::hilti::rt::to_string(x); return o; } |
2131 | | |
2132 | 0 | inline auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, RRType x) -> std::ostream& { o << ::hilti::rt::to_string(x); return o; } |
2133 | | |
2134 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::ResourceRecord& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2135 | | |
2136 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Message& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2137 | | |
2138 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Name& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2139 | | |
2140 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataMX& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2141 | | |
2142 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataSOA& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2143 | | |
2144 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::RDataSRV& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2145 | | |
2146 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::CharacterString& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2147 | | |
2148 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Question& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2149 | | |
2150 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Pointer& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |
2151 | | |
2152 | 0 | extern auto hlt_internal_dns_Message::DNS::operator<<(std::ostream& o, const hlt_internal_dns_Message::DNS::Label& x) -> std::ostream& { return o << ::hilti::rt::to_string(x);; } |