Line data Source code
1 : /* Automatically generated by fd_pb_gen.py. Do not edit. */
2 :
3 : #include "gossip.pb.h"
4 :
5 : static int
6 : fd_exec_test_gossip_ping_encode( fd_pb_encoder_t * enc,
7 0 : void const * msg_ ) {
8 0 : fd_exec_test_gossip_ping_t const * msg = msg_;
9 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->from->bytes, msg->from->size ) ) ) return 0;
10 0 : if( msg->token && msg->token->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->token->bytes, msg->token->size ) ) ) return 0;
11 0 : if( msg->signature && msg->signature->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->signature->bytes, msg->signature->size ) ) ) return 0;
12 0 : return 1;
13 0 : }
14 :
15 : static int
16 : fd_exec_test_gossip_ping_decode( fd_pb_inbuf_t * in,
17 : void * msg_,
18 0 : fd_spad_t * spad ) {
19 0 : fd_exec_test_gossip_ping_t * msg = msg_;
20 0 : while( fd_pb_inbuf_sz( in ) ) {
21 0 : fd_pb_tlv_t tlv[1];
22 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
23 0 : switch( tlv->field_id ) {
24 0 : case 1:
25 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
26 0 : break;
27 0 : case 2:
28 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->token ) ) ) return 0;
29 0 : break;
30 0 : case 3:
31 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->signature ) ) ) return 0;
32 0 : break;
33 0 : default:
34 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
35 0 : break;
36 0 : }
37 0 : }
38 0 : return 1;
39 0 : }
40 :
41 : fd_pb_msgdesc_t const fd_exec_test_gossip_ping_desc = {
42 : .encode = fd_exec_test_gossip_ping_encode,
43 : .decode = fd_exec_test_gossip_ping_decode
44 : };
45 :
46 : static int
47 : fd_exec_test_gossip_pong_encode( fd_pb_encoder_t * enc,
48 0 : void const * msg_ ) {
49 0 : fd_exec_test_gossip_pong_t const * msg = msg_;
50 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->from->bytes, msg->from->size ) ) ) return 0;
51 0 : if( msg->hash && msg->hash->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->hash->bytes, msg->hash->size ) ) ) return 0;
52 0 : if( msg->signature && msg->signature->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->signature->bytes, msg->signature->size ) ) ) return 0;
53 0 : return 1;
54 0 : }
55 :
56 : static int
57 : fd_exec_test_gossip_pong_decode( fd_pb_inbuf_t * in,
58 : void * msg_,
59 0 : fd_spad_t * spad ) {
60 0 : fd_exec_test_gossip_pong_t * msg = msg_;
61 0 : while( fd_pb_inbuf_sz( in ) ) {
62 0 : fd_pb_tlv_t tlv[1];
63 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
64 0 : switch( tlv->field_id ) {
65 0 : case 1:
66 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
67 0 : break;
68 0 : case 2:
69 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->hash ) ) ) return 0;
70 0 : break;
71 0 : case 3:
72 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->signature ) ) ) return 0;
73 0 : break;
74 0 : default:
75 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
76 0 : break;
77 0 : }
78 0 : }
79 0 : return 1;
80 0 : }
81 :
82 : fd_pb_msgdesc_t const fd_exec_test_gossip_pong_desc = {
83 : .encode = fd_exec_test_gossip_pong_encode,
84 : .decode = fd_exec_test_gossip_pong_decode
85 : };
86 :
87 : static int
88 : fd_exec_test_gossip_bloom_encode( fd_pb_encoder_t * enc,
89 0 : void const * msg_ ) {
90 0 : fd_exec_test_gossip_bloom_t const * msg = msg_;
91 0 : if( FD_UNLIKELY( !fd_pb_enc_packed( enc, 1U, FD_PB_GEN_UINT64, msg->keys, msg->keys_count ) ) ) return 0;
92 0 : if( msg->bits && msg->bits->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->bits->bytes, msg->bits->size ) ) ) return 0;
93 0 : if( msg->num_bits_set && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->num_bits_set ) ) ) return 0;
94 0 : return 1;
95 0 : }
96 :
97 : static int
98 : fd_exec_test_gossip_bloom_decode( fd_pb_inbuf_t * in,
99 : void * msg_,
100 0 : fd_spad_t * spad ) {
101 0 : fd_exec_test_gossip_bloom_t * msg = msg_;
102 0 : while( fd_pb_inbuf_sz( in ) ) {
103 0 : fd_pb_tlv_t tlv[1];
104 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
105 0 : switch( tlv->field_id ) {
106 0 : case 1:
107 0 : if( FD_UNLIKELY( !fd_pb_dec_repeated( in, tlv, spad, FD_PB_GEN_UINT64, &msg->keys, &msg->keys_count ) ) ) return 0;
108 0 : break;
109 0 : case 2:
110 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->bits ) ) ) return 0;
111 0 : break;
112 0 : case 3:
113 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->num_bits_set ) ) ) return 0;
114 0 : break;
115 0 : default:
116 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
117 0 : break;
118 0 : }
119 0 : }
120 0 : return 1;
121 0 : }
122 :
123 : fd_pb_msgdesc_t const fd_exec_test_gossip_bloom_desc = {
124 : .encode = fd_exec_test_gossip_bloom_encode,
125 : .decode = fd_exec_test_gossip_bloom_decode
126 : };
127 :
128 : static int
129 : fd_exec_test_gossip_crds_filter_encode( fd_pb_encoder_t * enc,
130 0 : void const * msg_ ) {
131 0 : fd_exec_test_gossip_crds_filter_t const * msg = msg_;
132 0 : if( msg->has_filter && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_gossip_bloom_desc, &msg->filter ) ) ) return 0;
133 0 : if( msg->mask && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->mask ) ) ) return 0;
134 0 : if( msg->mask_bits && FD_UNLIKELY( !fd_pb_push_uint32( enc, 3U, msg->mask_bits ) ) ) return 0;
135 0 : return 1;
136 0 : }
137 :
138 : static int
139 : fd_exec_test_gossip_crds_filter_decode( fd_pb_inbuf_t * in,
140 : void * msg_,
141 0 : fd_spad_t * spad ) {
142 0 : fd_exec_test_gossip_crds_filter_t * msg = msg_;
143 0 : while( fd_pb_inbuf_sz( in ) ) {
144 0 : fd_pb_tlv_t tlv[1];
145 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
146 0 : switch( tlv->field_id ) {
147 0 : case 1:
148 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_bloom_desc, &msg->filter ) ) ) return 0;
149 0 : msg->has_filter = 1;
150 0 : break;
151 0 : case 2:
152 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->mask ) ) ) return 0;
153 0 : break;
154 0 : case 3:
155 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->mask_bits ) ) ) return 0;
156 0 : break;
157 0 : default:
158 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
159 0 : break;
160 0 : }
161 0 : }
162 0 : return 1;
163 0 : }
164 :
165 : fd_pb_msgdesc_t const fd_exec_test_gossip_crds_filter_desc = {
166 : .encode = fd_exec_test_gossip_crds_filter_encode,
167 : .decode = fd_exec_test_gossip_crds_filter_decode
168 : };
169 :
170 : static int
171 : fd_exec_test_gossip_ipv6_addr_encode( fd_pb_encoder_t * enc,
172 0 : void const * msg_ ) {
173 0 : fd_exec_test_gossip_ipv6_addr_t const * msg = msg_;
174 0 : if( msg->hi && FD_UNLIKELY( !fd_pb_push_fixed64( enc, 1U, msg->hi ) ) ) return 0;
175 0 : if( msg->lo && FD_UNLIKELY( !fd_pb_push_fixed64( enc, 2U, msg->lo ) ) ) return 0;
176 0 : return 1;
177 0 : }
178 :
179 : static int
180 : fd_exec_test_gossip_ipv6_addr_decode( fd_pb_inbuf_t * in,
181 : void * msg_,
182 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
183 0 : fd_exec_test_gossip_ipv6_addr_t * msg = msg_;
184 0 : while( fd_pb_inbuf_sz( in ) ) {
185 0 : fd_pb_tlv_t tlv[1];
186 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
187 0 : switch( tlv->field_id ) {
188 0 : case 1:
189 0 : if( FD_UNLIKELY( !fd_pb_dec_fixed64( tlv, &msg->hi ) ) ) return 0;
190 0 : break;
191 0 : case 2:
192 0 : if( FD_UNLIKELY( !fd_pb_dec_fixed64( tlv, &msg->lo ) ) ) return 0;
193 0 : break;
194 0 : default:
195 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
196 0 : break;
197 0 : }
198 0 : }
199 0 : return 1;
200 0 : }
201 :
202 : fd_pb_msgdesc_t const fd_exec_test_gossip_ipv6_addr_desc = {
203 : .encode = fd_exec_test_gossip_ipv6_addr_encode,
204 : .decode = fd_exec_test_gossip_ipv6_addr_decode
205 : };
206 :
207 : static int
208 : fd_exec_test_gossip_ip_addr_encode( fd_pb_encoder_t * enc,
209 0 : void const * msg_ ) {
210 0 : fd_exec_test_gossip_ip_addr_t const * msg = msg_;
211 0 : if( msg->which_addr==1 && FD_UNLIKELY( !fd_pb_push_fixed32( enc, 1U, msg->addr.ipv4 ) ) ) return 0;
212 0 : if( msg->which_addr==2 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_ipv6_addr_desc, &msg->addr.ipv6 ) ) ) return 0;
213 0 : return 1;
214 0 : }
215 :
216 : static int
217 : fd_exec_test_gossip_ip_addr_decode( fd_pb_inbuf_t * in,
218 : void * msg_,
219 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
220 0 : fd_exec_test_gossip_ip_addr_t * msg = msg_;
221 0 : while( fd_pb_inbuf_sz( in ) ) {
222 0 : fd_pb_tlv_t tlv[1];
223 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
224 0 : switch( tlv->field_id ) {
225 0 : case 1:
226 0 : if( msg->which_addr!=1 ) fd_memset( &msg->addr, 0, sizeof(msg->addr) );
227 0 : if( FD_UNLIKELY( !fd_pb_dec_fixed32( tlv, &msg->addr.ipv4 ) ) ) return 0;
228 0 : msg->which_addr = 1;
229 0 : break;
230 0 : case 2:
231 0 : if( msg->which_addr!=2 ) fd_memset( &msg->addr, 0, sizeof(msg->addr) );
232 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_ipv6_addr_desc, &msg->addr.ipv6 ) ) ) return 0;
233 0 : msg->which_addr = 2;
234 0 : break;
235 0 : default:
236 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
237 0 : break;
238 0 : }
239 0 : }
240 0 : return 1;
241 0 : }
242 :
243 : fd_pb_msgdesc_t const fd_exec_test_gossip_ip_addr_desc = {
244 : .encode = fd_exec_test_gossip_ip_addr_encode,
245 : .decode = fd_exec_test_gossip_ip_addr_decode
246 : };
247 :
248 : static int
249 : fd_exec_test_gossip_socket_entry_encode( fd_pb_encoder_t * enc,
250 0 : void const * msg_ ) {
251 0 : fd_exec_test_gossip_socket_entry_t const * msg = msg_;
252 0 : if( msg->key && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->key ) ) ) return 0;
253 0 : if( msg->index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 2U, msg->index ) ) ) return 0;
254 0 : if( msg->offset && FD_UNLIKELY( !fd_pb_push_uint32( enc, 3U, msg->offset ) ) ) return 0;
255 0 : return 1;
256 0 : }
257 :
258 : static int
259 : fd_exec_test_gossip_socket_entry_decode( fd_pb_inbuf_t * in,
260 : void * msg_,
261 0 : fd_spad_t * spad FD_PARAM_UNUSED ) {
262 0 : fd_exec_test_gossip_socket_entry_t * msg = msg_;
263 0 : while( fd_pb_inbuf_sz( in ) ) {
264 0 : fd_pb_tlv_t tlv[1];
265 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
266 0 : switch( tlv->field_id ) {
267 0 : case 1:
268 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->key ) ) ) return 0;
269 0 : break;
270 0 : case 2:
271 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->index ) ) ) return 0;
272 0 : break;
273 0 : case 3:
274 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->offset ) ) ) return 0;
275 0 : break;
276 0 : default:
277 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
278 0 : break;
279 0 : }
280 0 : }
281 0 : return 1;
282 0 : }
283 :
284 : fd_pb_msgdesc_t const fd_exec_test_gossip_socket_entry_desc = {
285 : .encode = fd_exec_test_gossip_socket_entry_encode,
286 : .decode = fd_exec_test_gossip_socket_entry_decode
287 : };
288 :
289 : static int
290 : fd_exec_test_gossip_contact_info_encode( fd_pb_encoder_t * enc,
291 0 : void const * msg_ ) {
292 0 : fd_exec_test_gossip_contact_info_t const * msg = msg_;
293 0 : if( msg->pubkey && msg->pubkey->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->pubkey->bytes, msg->pubkey->size ) ) ) return 0;
294 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->wallclock ) ) ) return 0;
295 0 : if( msg->outset && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->outset ) ) ) return 0;
296 0 : if( msg->shred_version && FD_UNLIKELY( !fd_pb_push_uint32( enc, 4U, msg->shred_version ) ) ) return 0;
297 0 : if( msg->version_major && FD_UNLIKELY( !fd_pb_push_uint32( enc, 5U, msg->version_major ) ) ) return 0;
298 0 : if( msg->version_minor && FD_UNLIKELY( !fd_pb_push_uint32( enc, 6U, msg->version_minor ) ) ) return 0;
299 0 : if( msg->version_patch && FD_UNLIKELY( !fd_pb_push_uint32( enc, 7U, msg->version_patch ) ) ) return 0;
300 0 : if( msg->version_commit && FD_UNLIKELY( !fd_pb_push_uint32( enc, 8U, msg->version_commit ) ) ) return 0;
301 0 : if( msg->version_feature_set && FD_UNLIKELY( !fd_pb_push_uint32( enc, 9U, msg->version_feature_set ) ) ) return 0;
302 0 : if( msg->version_client && FD_UNLIKELY( !fd_pb_push_uint32( enc, 10U, msg->version_client ) ) ) return 0;
303 0 : for( ulong i=0UL; i<msg->addrs_count; i++ ) {
304 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 11U, &fd_exec_test_gossip_ip_addr_desc, &msg->addrs[ i ] ) ) ) return 0;
305 0 : }
306 0 : for( ulong i=0UL; i<msg->sockets_count; i++ ) {
307 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 12U, &fd_exec_test_gossip_socket_entry_desc, &msg->sockets[ i ] ) ) ) return 0;
308 0 : }
309 0 : if( msg->extensions && msg->extensions->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 13U, msg->extensions->bytes, msg->extensions->size ) ) ) return 0;
310 0 : return 1;
311 0 : }
312 :
313 : static int
314 : fd_exec_test_gossip_contact_info_decode( fd_pb_inbuf_t * in,
315 : void * msg_,
316 0 : fd_spad_t * spad ) {
317 0 : fd_exec_test_gossip_contact_info_t * msg = msg_;
318 0 : while( fd_pb_inbuf_sz( in ) ) {
319 0 : fd_pb_tlv_t tlv[1];
320 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
321 0 : switch( tlv->field_id ) {
322 0 : case 1:
323 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->pubkey ) ) ) return 0;
324 0 : break;
325 0 : case 2:
326 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
327 0 : break;
328 0 : case 3:
329 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->outset ) ) ) return 0;
330 0 : break;
331 0 : case 4:
332 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->shred_version ) ) ) return 0;
333 0 : break;
334 0 : case 5:
335 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_major ) ) ) return 0;
336 0 : break;
337 0 : case 6:
338 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_minor ) ) ) return 0;
339 0 : break;
340 0 : case 7:
341 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_patch ) ) ) return 0;
342 0 : break;
343 0 : case 8:
344 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_commit ) ) ) return 0;
345 0 : break;
346 0 : case 9:
347 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_feature_set ) ) ) return 0;
348 0 : break;
349 0 : case 10:
350 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->version_client ) ) ) return 0;
351 0 : break;
352 0 : case 11:
353 0 : {
354 0 : void * ele = fd_pb_dec_grow( spad, &msg->addrs, &msg->addrs_count, alignof(fd_exec_test_gossip_ip_addr_t), sizeof(fd_exec_test_gossip_ip_addr_t) );
355 0 : if( FD_UNLIKELY( !ele ) ) return 0;
356 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_ip_addr_desc, ele ) ) ) return 0;
357 0 : }
358 0 : break;
359 0 : case 12:
360 0 : {
361 0 : void * ele = fd_pb_dec_grow( spad, &msg->sockets, &msg->sockets_count, alignof(fd_exec_test_gossip_socket_entry_t), sizeof(fd_exec_test_gossip_socket_entry_t) );
362 0 : if( FD_UNLIKELY( !ele ) ) return 0;
363 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_socket_entry_desc, ele ) ) ) return 0;
364 0 : }
365 0 : break;
366 0 : case 13:
367 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->extensions ) ) ) return 0;
368 0 : break;
369 0 : default:
370 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
371 0 : break;
372 0 : }
373 0 : }
374 0 : return 1;
375 0 : }
376 :
377 : fd_pb_msgdesc_t const fd_exec_test_gossip_contact_info_desc = {
378 : .encode = fd_exec_test_gossip_contact_info_encode,
379 : .decode = fd_exec_test_gossip_contact_info_decode
380 : };
381 :
382 : static int
383 : fd_exec_test_gossip_vote_encode( fd_pb_encoder_t * enc,
384 0 : void const * msg_ ) {
385 0 : fd_exec_test_gossip_vote_t const * msg = msg_;
386 0 : if( msg->index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->index ) ) ) return 0;
387 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->from->bytes, msg->from->size ) ) ) return 0;
388 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->wallclock ) ) ) return 0;
389 0 : if( msg->transaction && msg->transaction->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 4U, msg->transaction->bytes, msg->transaction->size ) ) ) return 0;
390 0 : return 1;
391 0 : }
392 :
393 : static int
394 : fd_exec_test_gossip_vote_decode( fd_pb_inbuf_t * in,
395 : void * msg_,
396 0 : fd_spad_t * spad ) {
397 0 : fd_exec_test_gossip_vote_t * msg = msg_;
398 0 : while( fd_pb_inbuf_sz( in ) ) {
399 0 : fd_pb_tlv_t tlv[1];
400 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
401 0 : switch( tlv->field_id ) {
402 0 : case 1:
403 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->index ) ) ) return 0;
404 0 : break;
405 0 : case 2:
406 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
407 0 : break;
408 0 : case 3:
409 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
410 0 : break;
411 0 : case 4:
412 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->transaction ) ) ) return 0;
413 0 : break;
414 0 : default:
415 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
416 0 : break;
417 0 : }
418 0 : }
419 0 : return 1;
420 0 : }
421 :
422 : fd_pb_msgdesc_t const fd_exec_test_gossip_vote_desc = {
423 : .encode = fd_exec_test_gossip_vote_encode,
424 : .decode = fd_exec_test_gossip_vote_decode
425 : };
426 :
427 : static int
428 : fd_exec_test_gossip_lowest_slot_encode( fd_pb_encoder_t * enc,
429 0 : void const * msg_ ) {
430 0 : fd_exec_test_gossip_lowest_slot_t const * msg = msg_;
431 0 : if( msg->index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->index ) ) ) return 0;
432 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->from->bytes, msg->from->size ) ) ) return 0;
433 0 : if( msg->lowest && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->lowest ) ) ) return 0;
434 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->wallclock ) ) ) return 0;
435 0 : return 1;
436 0 : }
437 :
438 : static int
439 : fd_exec_test_gossip_lowest_slot_decode( fd_pb_inbuf_t * in,
440 : void * msg_,
441 0 : fd_spad_t * spad ) {
442 0 : fd_exec_test_gossip_lowest_slot_t * msg = msg_;
443 0 : while( fd_pb_inbuf_sz( in ) ) {
444 0 : fd_pb_tlv_t tlv[1];
445 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
446 0 : switch( tlv->field_id ) {
447 0 : case 1:
448 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->index ) ) ) return 0;
449 0 : break;
450 0 : case 2:
451 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
452 0 : break;
453 0 : case 3:
454 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->lowest ) ) ) return 0;
455 0 : break;
456 0 : case 4:
457 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
458 0 : break;
459 0 : default:
460 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
461 0 : break;
462 0 : }
463 0 : }
464 0 : return 1;
465 0 : }
466 :
467 : fd_pb_msgdesc_t const fd_exec_test_gossip_lowest_slot_desc = {
468 : .encode = fd_exec_test_gossip_lowest_slot_encode,
469 : .decode = fd_exec_test_gossip_lowest_slot_decode
470 : };
471 :
472 : static int
473 : fd_exec_test_gossip_compressed_slots_encode( fd_pb_encoder_t * enc,
474 0 : void const * msg_ ) {
475 0 : fd_exec_test_gossip_compressed_slots_t const * msg = msg_;
476 0 : if( msg->first_slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->first_slot ) ) ) return 0;
477 0 : if( msg->num && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->num ) ) ) return 0;
478 0 : if( msg->which_data==3 && FD_UNLIKELY( !fd_pb_enc_bytes_ptr( enc, 3U, msg->data.uncompressed ) ) ) return 0;
479 0 : if( msg->which_data==4 && FD_UNLIKELY( !fd_pb_enc_bytes_ptr( enc, 4U, msg->data.flate2 ) ) ) return 0;
480 0 : return 1;
481 0 : }
482 :
483 : static int
484 : fd_exec_test_gossip_compressed_slots_decode( fd_pb_inbuf_t * in,
485 : void * msg_,
486 0 : fd_spad_t * spad ) {
487 0 : fd_exec_test_gossip_compressed_slots_t * msg = msg_;
488 0 : while( fd_pb_inbuf_sz( in ) ) {
489 0 : fd_pb_tlv_t tlv[1];
490 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
491 0 : switch( tlv->field_id ) {
492 0 : case 1:
493 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->first_slot ) ) ) return 0;
494 0 : break;
495 0 : case 2:
496 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->num ) ) ) return 0;
497 0 : break;
498 0 : case 3:
499 0 : if( msg->which_data!=3 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
500 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->data.uncompressed ) ) ) return 0;
501 0 : msg->which_data = 3;
502 0 : break;
503 0 : case 4:
504 0 : if( msg->which_data!=4 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
505 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->data.flate2 ) ) ) return 0;
506 0 : msg->which_data = 4;
507 0 : break;
508 0 : default:
509 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
510 0 : break;
511 0 : }
512 0 : }
513 0 : return 1;
514 0 : }
515 :
516 : fd_pb_msgdesc_t const fd_exec_test_gossip_compressed_slots_desc = {
517 : .encode = fd_exec_test_gossip_compressed_slots_encode,
518 : .decode = fd_exec_test_gossip_compressed_slots_decode
519 : };
520 :
521 : static int
522 : fd_exec_test_gossip_epoch_slots_encode( fd_pb_encoder_t * enc,
523 0 : void const * msg_ ) {
524 0 : fd_exec_test_gossip_epoch_slots_t const * msg = msg_;
525 0 : if( msg->index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->index ) ) ) return 0;
526 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->from->bytes, msg->from->size ) ) ) return 0;
527 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->wallclock ) ) ) return 0;
528 0 : for( ulong i=0UL; i<msg->slots_count; i++ ) {
529 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_gossip_compressed_slots_desc, &msg->slots[ i ] ) ) ) return 0;
530 0 : }
531 0 : return 1;
532 0 : }
533 :
534 : static int
535 : fd_exec_test_gossip_epoch_slots_decode( fd_pb_inbuf_t * in,
536 : void * msg_,
537 0 : fd_spad_t * spad ) {
538 0 : fd_exec_test_gossip_epoch_slots_t * msg = msg_;
539 0 : while( fd_pb_inbuf_sz( in ) ) {
540 0 : fd_pb_tlv_t tlv[1];
541 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
542 0 : switch( tlv->field_id ) {
543 0 : case 1:
544 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->index ) ) ) return 0;
545 0 : break;
546 0 : case 2:
547 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
548 0 : break;
549 0 : case 3:
550 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
551 0 : break;
552 0 : case 4:
553 0 : {
554 0 : void * ele = fd_pb_dec_grow( spad, &msg->slots, &msg->slots_count, alignof(fd_exec_test_gossip_compressed_slots_t), sizeof(fd_exec_test_gossip_compressed_slots_t) );
555 0 : if( FD_UNLIKELY( !ele ) ) return 0;
556 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_compressed_slots_desc, ele ) ) ) return 0;
557 0 : }
558 0 : break;
559 0 : default:
560 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
561 0 : break;
562 0 : }
563 0 : }
564 0 : return 1;
565 0 : }
566 :
567 : fd_pb_msgdesc_t const fd_exec_test_gossip_epoch_slots_desc = {
568 : .encode = fd_exec_test_gossip_epoch_slots_encode,
569 : .decode = fd_exec_test_gossip_epoch_slots_decode
570 : };
571 :
572 : static int
573 : fd_exec_test_gossip_incremental_hash_encode( fd_pb_encoder_t * enc,
574 0 : void const * msg_ ) {
575 0 : fd_exec_test_gossip_incremental_hash_t const * msg = msg_;
576 0 : if( msg->slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 1U, msg->slot ) ) ) return 0;
577 0 : if( msg->hash && msg->hash->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->hash->bytes, msg->hash->size ) ) ) return 0;
578 0 : return 1;
579 0 : }
580 :
581 : static int
582 : fd_exec_test_gossip_incremental_hash_decode( fd_pb_inbuf_t * in,
583 : void * msg_,
584 0 : fd_spad_t * spad ) {
585 0 : fd_exec_test_gossip_incremental_hash_t * msg = msg_;
586 0 : while( fd_pb_inbuf_sz( in ) ) {
587 0 : fd_pb_tlv_t tlv[1];
588 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
589 0 : switch( tlv->field_id ) {
590 0 : case 1:
591 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->slot ) ) ) return 0;
592 0 : break;
593 0 : case 2:
594 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->hash ) ) ) return 0;
595 0 : break;
596 0 : default:
597 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
598 0 : break;
599 0 : }
600 0 : }
601 0 : return 1;
602 0 : }
603 :
604 : fd_pb_msgdesc_t const fd_exec_test_gossip_incremental_hash_desc = {
605 : .encode = fd_exec_test_gossip_incremental_hash_encode,
606 : .decode = fd_exec_test_gossip_incremental_hash_decode
607 : };
608 :
609 : static int
610 : fd_exec_test_gossip_snapshot_hashes_encode( fd_pb_encoder_t * enc,
611 0 : void const * msg_ ) {
612 0 : fd_exec_test_gossip_snapshot_hashes_t const * msg = msg_;
613 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->from->bytes, msg->from->size ) ) ) return 0;
614 0 : if( msg->full_slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 2U, msg->full_slot ) ) ) return 0;
615 0 : if( msg->full_hash && msg->full_hash->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->full_hash->bytes, msg->full_hash->size ) ) ) return 0;
616 0 : for( ulong i=0UL; i<msg->incremental_count; i++ ) {
617 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_gossip_incremental_hash_desc, &msg->incremental[ i ] ) ) ) return 0;
618 0 : }
619 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->wallclock ) ) ) return 0;
620 0 : return 1;
621 0 : }
622 :
623 : static int
624 : fd_exec_test_gossip_snapshot_hashes_decode( fd_pb_inbuf_t * in,
625 : void * msg_,
626 0 : fd_spad_t * spad ) {
627 0 : fd_exec_test_gossip_snapshot_hashes_t * msg = msg_;
628 0 : while( fd_pb_inbuf_sz( in ) ) {
629 0 : fd_pb_tlv_t tlv[1];
630 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
631 0 : switch( tlv->field_id ) {
632 0 : case 1:
633 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
634 0 : break;
635 0 : case 2:
636 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->full_slot ) ) ) return 0;
637 0 : break;
638 0 : case 3:
639 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->full_hash ) ) ) return 0;
640 0 : break;
641 0 : case 4:
642 0 : {
643 0 : void * ele = fd_pb_dec_grow( spad, &msg->incremental, &msg->incremental_count, alignof(fd_exec_test_gossip_incremental_hash_t), sizeof(fd_exec_test_gossip_incremental_hash_t) );
644 0 : if( FD_UNLIKELY( !ele ) ) return 0;
645 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_incremental_hash_desc, ele ) ) ) return 0;
646 0 : }
647 0 : break;
648 0 : case 5:
649 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
650 0 : break;
651 0 : default:
652 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
653 0 : break;
654 0 : }
655 0 : }
656 0 : return 1;
657 0 : }
658 :
659 : fd_pb_msgdesc_t const fd_exec_test_gossip_snapshot_hashes_desc = {
660 : .encode = fd_exec_test_gossip_snapshot_hashes_encode,
661 : .decode = fd_exec_test_gossip_snapshot_hashes_decode
662 : };
663 :
664 : static int
665 : fd_exec_test_gossip_duplicate_shred_encode( fd_pb_encoder_t * enc,
666 0 : void const * msg_ ) {
667 0 : fd_exec_test_gossip_duplicate_shred_t const * msg = msg_;
668 0 : if( msg->index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 1U, msg->index ) ) ) return 0;
669 0 : if( msg->from && msg->from->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->from->bytes, msg->from->size ) ) ) return 0;
670 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 3U, msg->wallclock ) ) ) return 0;
671 0 : if( msg->slot && FD_UNLIKELY( !fd_pb_push_uint64( enc, 4U, msg->slot ) ) ) return 0;
672 0 : if( msg->shred_index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 5U, msg->shred_index ) ) ) return 0;
673 0 : if( msg->shred_type && FD_UNLIKELY( !fd_pb_push_uint32( enc, 6U, msg->shred_type ) ) ) return 0;
674 0 : if( msg->num_chunks && FD_UNLIKELY( !fd_pb_push_uint32( enc, 7U, msg->num_chunks ) ) ) return 0;
675 0 : if( msg->chunk_index && FD_UNLIKELY( !fd_pb_push_uint32( enc, 8U, msg->chunk_index ) ) ) return 0;
676 0 : if( msg->chunk && msg->chunk->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 9U, msg->chunk->bytes, msg->chunk->size ) ) ) return 0;
677 0 : return 1;
678 0 : }
679 :
680 : static int
681 : fd_exec_test_gossip_duplicate_shred_decode( fd_pb_inbuf_t * in,
682 : void * msg_,
683 0 : fd_spad_t * spad ) {
684 0 : fd_exec_test_gossip_duplicate_shred_t * msg = msg_;
685 0 : while( fd_pb_inbuf_sz( in ) ) {
686 0 : fd_pb_tlv_t tlv[1];
687 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
688 0 : switch( tlv->field_id ) {
689 0 : case 1:
690 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->index ) ) ) return 0;
691 0 : break;
692 0 : case 2:
693 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->from ) ) ) return 0;
694 0 : break;
695 0 : case 3:
696 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
697 0 : break;
698 0 : case 4:
699 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->slot ) ) ) return 0;
700 0 : break;
701 0 : case 5:
702 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->shred_index ) ) ) return 0;
703 0 : break;
704 0 : case 6:
705 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->shred_type ) ) ) return 0;
706 0 : break;
707 0 : case 7:
708 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->num_chunks ) ) ) return 0;
709 0 : break;
710 0 : case 8:
711 0 : if( FD_UNLIKELY( !fd_pb_dec_uint32( tlv, &msg->chunk_index ) ) ) return 0;
712 0 : break;
713 0 : case 9:
714 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->chunk ) ) ) return 0;
715 0 : break;
716 0 : default:
717 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
718 0 : break;
719 0 : }
720 0 : }
721 0 : return 1;
722 0 : }
723 :
724 : fd_pb_msgdesc_t const fd_exec_test_gossip_duplicate_shred_desc = {
725 : .encode = fd_exec_test_gossip_duplicate_shred_encode,
726 : .decode = fd_exec_test_gossip_duplicate_shred_decode
727 : };
728 :
729 : static int
730 : fd_exec_test_gossip_crds_data_encode( fd_pb_encoder_t * enc,
731 0 : void const * msg_ ) {
732 0 : fd_exec_test_gossip_crds_data_t const * msg = msg_;
733 0 : if( msg->which_data==1 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_gossip_contact_info_desc, &msg->data.contact_info ) ) ) return 0;
734 0 : if( msg->which_data==2 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_vote_desc, &msg->data.vote ) ) ) return 0;
735 0 : if( msg->which_data==3 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_gossip_lowest_slot_desc, &msg->data.lowest_slot ) ) ) return 0;
736 0 : if( msg->which_data==4 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_gossip_epoch_slots_desc, &msg->data.epoch_slots ) ) ) return 0;
737 0 : if( msg->which_data==5 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 5U, &fd_exec_test_gossip_snapshot_hashes_desc, &msg->data.snapshot_hashes ) ) ) return 0;
738 0 : if( msg->which_data==6 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_gossip_duplicate_shred_desc, &msg->data.duplicate_shred ) ) ) return 0;
739 0 : return 1;
740 0 : }
741 :
742 : static int
743 : fd_exec_test_gossip_crds_data_decode( fd_pb_inbuf_t * in,
744 : void * msg_,
745 0 : fd_spad_t * spad ) {
746 0 : fd_exec_test_gossip_crds_data_t * msg = msg_;
747 0 : while( fd_pb_inbuf_sz( in ) ) {
748 0 : fd_pb_tlv_t tlv[1];
749 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
750 0 : switch( tlv->field_id ) {
751 0 : case 1:
752 0 : if( msg->which_data!=1 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
753 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_contact_info_desc, &msg->data.contact_info ) ) ) return 0;
754 0 : msg->which_data = 1;
755 0 : break;
756 0 : case 2:
757 0 : if( msg->which_data!=2 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
758 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_vote_desc, &msg->data.vote ) ) ) return 0;
759 0 : msg->which_data = 2;
760 0 : break;
761 0 : case 3:
762 0 : if( msg->which_data!=3 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
763 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_lowest_slot_desc, &msg->data.lowest_slot ) ) ) return 0;
764 0 : msg->which_data = 3;
765 0 : break;
766 0 : case 4:
767 0 : if( msg->which_data!=4 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
768 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_epoch_slots_desc, &msg->data.epoch_slots ) ) ) return 0;
769 0 : msg->which_data = 4;
770 0 : break;
771 0 : case 5:
772 0 : if( msg->which_data!=5 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
773 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_snapshot_hashes_desc, &msg->data.snapshot_hashes ) ) ) return 0;
774 0 : msg->which_data = 5;
775 0 : break;
776 0 : case 6:
777 0 : if( msg->which_data!=6 ) fd_memset( &msg->data, 0, sizeof(msg->data) );
778 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_duplicate_shred_desc, &msg->data.duplicate_shred ) ) ) return 0;
779 0 : msg->which_data = 6;
780 0 : break;
781 0 : default:
782 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
783 0 : break;
784 0 : }
785 0 : }
786 0 : return 1;
787 0 : }
788 :
789 : fd_pb_msgdesc_t const fd_exec_test_gossip_crds_data_desc = {
790 : .encode = fd_exec_test_gossip_crds_data_encode,
791 : .decode = fd_exec_test_gossip_crds_data_decode
792 : };
793 :
794 : static int
795 : fd_exec_test_gossip_crds_value_encode( fd_pb_encoder_t * enc,
796 0 : void const * msg_ ) {
797 0 : fd_exec_test_gossip_crds_value_t const * msg = msg_;
798 0 : if( msg->signature && msg->signature->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->signature->bytes, msg->signature->size ) ) ) return 0;
799 0 : if( msg->has_data && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_crds_data_desc, &msg->data ) ) ) return 0;
800 0 : return 1;
801 0 : }
802 :
803 : static int
804 : fd_exec_test_gossip_crds_value_decode( fd_pb_inbuf_t * in,
805 : void * msg_,
806 0 : fd_spad_t * spad ) {
807 0 : fd_exec_test_gossip_crds_value_t * msg = msg_;
808 0 : while( fd_pb_inbuf_sz( in ) ) {
809 0 : fd_pb_tlv_t tlv[1];
810 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
811 0 : switch( tlv->field_id ) {
812 0 : case 1:
813 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->signature ) ) ) return 0;
814 0 : break;
815 0 : case 2:
816 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_crds_data_desc, &msg->data ) ) ) return 0;
817 0 : msg->has_data = 1;
818 0 : break;
819 0 : default:
820 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
821 0 : break;
822 0 : }
823 0 : }
824 0 : return 1;
825 0 : }
826 :
827 : fd_pb_msgdesc_t const fd_exec_test_gossip_crds_value_desc = {
828 : .encode = fd_exec_test_gossip_crds_value_encode,
829 : .decode = fd_exec_test_gossip_crds_value_decode
830 : };
831 :
832 : static int
833 : fd_exec_test_gossip_pull_request_encode( fd_pb_encoder_t * enc,
834 0 : void const * msg_ ) {
835 0 : fd_exec_test_gossip_pull_request_t const * msg = msg_;
836 0 : if( msg->has_filter && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_gossip_crds_filter_desc, &msg->filter ) ) ) return 0;
837 0 : if( msg->has_value && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_crds_value_desc, &msg->value ) ) ) return 0;
838 0 : return 1;
839 0 : }
840 :
841 : static int
842 : fd_exec_test_gossip_pull_request_decode( fd_pb_inbuf_t * in,
843 : void * msg_,
844 0 : fd_spad_t * spad ) {
845 0 : fd_exec_test_gossip_pull_request_t * msg = msg_;
846 0 : while( fd_pb_inbuf_sz( in ) ) {
847 0 : fd_pb_tlv_t tlv[1];
848 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
849 0 : switch( tlv->field_id ) {
850 0 : case 1:
851 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_crds_filter_desc, &msg->filter ) ) ) return 0;
852 0 : msg->has_filter = 1;
853 0 : break;
854 0 : case 2:
855 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_crds_value_desc, &msg->value ) ) ) return 0;
856 0 : msg->has_value = 1;
857 0 : break;
858 0 : default:
859 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
860 0 : break;
861 0 : }
862 0 : }
863 0 : return 1;
864 0 : }
865 :
866 : fd_pb_msgdesc_t const fd_exec_test_gossip_pull_request_desc = {
867 : .encode = fd_exec_test_gossip_pull_request_encode,
868 : .decode = fd_exec_test_gossip_pull_request_decode
869 : };
870 :
871 : static int
872 : fd_exec_test_gossip_pull_response_encode( fd_pb_encoder_t * enc,
873 0 : void const * msg_ ) {
874 0 : fd_exec_test_gossip_pull_response_t const * msg = msg_;
875 0 : if( msg->pubkey && msg->pubkey->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->pubkey->bytes, msg->pubkey->size ) ) ) return 0;
876 0 : for( ulong i=0UL; i<msg->values_count; i++ ) {
877 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_crds_value_desc, &msg->values[ i ] ) ) ) return 0;
878 0 : }
879 0 : return 1;
880 0 : }
881 :
882 : static int
883 : fd_exec_test_gossip_pull_response_decode( fd_pb_inbuf_t * in,
884 : void * msg_,
885 0 : fd_spad_t * spad ) {
886 0 : fd_exec_test_gossip_pull_response_t * msg = msg_;
887 0 : while( fd_pb_inbuf_sz( in ) ) {
888 0 : fd_pb_tlv_t tlv[1];
889 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
890 0 : switch( tlv->field_id ) {
891 0 : case 1:
892 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->pubkey ) ) ) return 0;
893 0 : break;
894 0 : case 2:
895 0 : {
896 0 : void * ele = fd_pb_dec_grow( spad, &msg->values, &msg->values_count, alignof(fd_exec_test_gossip_crds_value_t), sizeof(fd_exec_test_gossip_crds_value_t) );
897 0 : if( FD_UNLIKELY( !ele ) ) return 0;
898 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_crds_value_desc, ele ) ) ) return 0;
899 0 : }
900 0 : break;
901 0 : default:
902 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
903 0 : break;
904 0 : }
905 0 : }
906 0 : return 1;
907 0 : }
908 :
909 : fd_pb_msgdesc_t const fd_exec_test_gossip_pull_response_desc = {
910 : .encode = fd_exec_test_gossip_pull_response_encode,
911 : .decode = fd_exec_test_gossip_pull_response_decode
912 : };
913 :
914 : static int
915 : fd_exec_test_gossip_push_message_encode( fd_pb_encoder_t * enc,
916 0 : void const * msg_ ) {
917 0 : fd_exec_test_gossip_push_message_t const * msg = msg_;
918 0 : if( msg->pubkey && msg->pubkey->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->pubkey->bytes, msg->pubkey->size ) ) ) return 0;
919 0 : for( ulong i=0UL; i<msg->values_count; i++ ) {
920 0 : if( FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_crds_value_desc, &msg->values[ i ] ) ) ) return 0;
921 0 : }
922 0 : return 1;
923 0 : }
924 :
925 : static int
926 : fd_exec_test_gossip_push_message_decode( fd_pb_inbuf_t * in,
927 : void * msg_,
928 0 : fd_spad_t * spad ) {
929 0 : fd_exec_test_gossip_push_message_t * msg = msg_;
930 0 : while( fd_pb_inbuf_sz( in ) ) {
931 0 : fd_pb_tlv_t tlv[1];
932 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
933 0 : switch( tlv->field_id ) {
934 0 : case 1:
935 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->pubkey ) ) ) return 0;
936 0 : break;
937 0 : case 2:
938 0 : {
939 0 : void * ele = fd_pb_dec_grow( spad, &msg->values, &msg->values_count, alignof(fd_exec_test_gossip_crds_value_t), sizeof(fd_exec_test_gossip_crds_value_t) );
940 0 : if( FD_UNLIKELY( !ele ) ) return 0;
941 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_crds_value_desc, ele ) ) ) return 0;
942 0 : }
943 0 : break;
944 0 : default:
945 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
946 0 : break;
947 0 : }
948 0 : }
949 0 : return 1;
950 0 : }
951 :
952 : fd_pb_msgdesc_t const fd_exec_test_gossip_push_message_desc = {
953 : .encode = fd_exec_test_gossip_push_message_encode,
954 : .decode = fd_exec_test_gossip_push_message_decode
955 : };
956 :
957 : static int
958 : fd_exec_test_gossip_prune_data_encode( fd_pb_encoder_t * enc,
959 0 : void const * msg_ ) {
960 0 : fd_exec_test_gossip_prune_data_t const * msg = msg_;
961 0 : if( msg->pubkey && msg->pubkey->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->pubkey->bytes, msg->pubkey->size ) ) ) return 0;
962 0 : for( ulong i=0UL; i<msg->prunes_count; i++ ) {
963 0 : if( FD_UNLIKELY( !fd_pb_enc_bytes_ptr( enc, 2U, msg->prunes[ i ] ) ) ) return 0;
964 0 : }
965 0 : if( msg->signature && msg->signature->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 3U, msg->signature->bytes, msg->signature->size ) ) ) return 0;
966 0 : if( msg->destination && msg->destination->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 4U, msg->destination->bytes, msg->destination->size ) ) ) return 0;
967 0 : if( msg->wallclock && FD_UNLIKELY( !fd_pb_push_uint64( enc, 5U, msg->wallclock ) ) ) return 0;
968 0 : return 1;
969 0 : }
970 :
971 : static int
972 : fd_exec_test_gossip_prune_data_decode( fd_pb_inbuf_t * in,
973 : void * msg_,
974 0 : fd_spad_t * spad ) {
975 0 : fd_exec_test_gossip_prune_data_t * msg = msg_;
976 0 : while( fd_pb_inbuf_sz( in ) ) {
977 0 : fd_pb_tlv_t tlv[1];
978 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
979 0 : switch( tlv->field_id ) {
980 0 : case 1:
981 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->pubkey ) ) ) return 0;
982 0 : break;
983 0 : case 2:
984 0 : {
985 0 : fd_pb_bytes_array_t ** ele = fd_pb_dec_grow( spad, &msg->prunes, &msg->prunes_count, alignof(fd_pb_bytes_array_t *), sizeof(fd_pb_bytes_array_t *) );
986 0 : if( FD_UNLIKELY( !ele ) ) return 0;
987 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, ele ) ) ) return 0;
988 0 : }
989 0 : break;
990 0 : case 3:
991 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->signature ) ) ) return 0;
992 0 : break;
993 0 : case 4:
994 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->destination ) ) ) return 0;
995 0 : break;
996 0 : case 5:
997 0 : if( FD_UNLIKELY( !fd_pb_dec_uint64( tlv, &msg->wallclock ) ) ) return 0;
998 0 : break;
999 0 : default:
1000 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
1001 0 : break;
1002 0 : }
1003 0 : }
1004 0 : return 1;
1005 0 : }
1006 :
1007 : fd_pb_msgdesc_t const fd_exec_test_gossip_prune_data_desc = {
1008 : .encode = fd_exec_test_gossip_prune_data_encode,
1009 : .decode = fd_exec_test_gossip_prune_data_decode
1010 : };
1011 :
1012 : static int
1013 : fd_exec_test_gossip_prune_message_encode( fd_pb_encoder_t * enc,
1014 0 : void const * msg_ ) {
1015 0 : fd_exec_test_gossip_prune_message_t const * msg = msg_;
1016 0 : if( msg->pubkey && msg->pubkey->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 1U, msg->pubkey->bytes, msg->pubkey->size ) ) ) return 0;
1017 0 : if( msg->has_data && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_prune_data_desc, &msg->data ) ) ) return 0;
1018 0 : return 1;
1019 0 : }
1020 :
1021 : static int
1022 : fd_exec_test_gossip_prune_message_decode( fd_pb_inbuf_t * in,
1023 : void * msg_,
1024 0 : fd_spad_t * spad ) {
1025 0 : fd_exec_test_gossip_prune_message_t * msg = msg_;
1026 0 : while( fd_pb_inbuf_sz( in ) ) {
1027 0 : fd_pb_tlv_t tlv[1];
1028 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
1029 0 : switch( tlv->field_id ) {
1030 0 : case 1:
1031 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->pubkey ) ) ) return 0;
1032 0 : break;
1033 0 : case 2:
1034 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_prune_data_desc, &msg->data ) ) ) return 0;
1035 0 : msg->has_data = 1;
1036 0 : break;
1037 0 : default:
1038 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
1039 0 : break;
1040 0 : }
1041 0 : }
1042 0 : return 1;
1043 0 : }
1044 :
1045 : fd_pb_msgdesc_t const fd_exec_test_gossip_prune_message_desc = {
1046 : .encode = fd_exec_test_gossip_prune_message_encode,
1047 : .decode = fd_exec_test_gossip_prune_message_decode
1048 : };
1049 :
1050 : static int
1051 : fd_exec_test_gossip_msg_encode( fd_pb_encoder_t * enc,
1052 0 : void const * msg_ ) {
1053 0 : fd_exec_test_gossip_msg_t const * msg = msg_;
1054 0 : if( msg->which_msg==1 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_gossip_ping_desc, &msg->msg.ping ) ) ) return 0;
1055 0 : if( msg->which_msg==2 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_pong_desc, &msg->msg.pong ) ) ) return 0;
1056 0 : if( msg->which_msg==3 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_gossip_pull_request_desc, &msg->msg.pull_request ) ) ) return 0;
1057 0 : if( msg->which_msg==4 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 4U, &fd_exec_test_gossip_pull_response_desc, &msg->msg.pull_response ) ) ) return 0;
1058 0 : if( msg->which_msg==5 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 5U, &fd_exec_test_gossip_push_message_desc, &msg->msg.push_message ) ) ) return 0;
1059 0 : if( msg->which_msg==6 && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 6U, &fd_exec_test_gossip_prune_message_desc, &msg->msg.prune_message ) ) ) return 0;
1060 0 : return 1;
1061 0 : }
1062 :
1063 : static int
1064 : fd_exec_test_gossip_msg_decode( fd_pb_inbuf_t * in,
1065 : void * msg_,
1066 0 : fd_spad_t * spad ) {
1067 0 : fd_exec_test_gossip_msg_t * msg = msg_;
1068 0 : while( fd_pb_inbuf_sz( in ) ) {
1069 0 : fd_pb_tlv_t tlv[1];
1070 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
1071 0 : switch( tlv->field_id ) {
1072 0 : case 1:
1073 0 : if( msg->which_msg!=1 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1074 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_ping_desc, &msg->msg.ping ) ) ) return 0;
1075 0 : msg->which_msg = 1;
1076 0 : break;
1077 0 : case 2:
1078 0 : if( msg->which_msg!=2 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1079 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_pong_desc, &msg->msg.pong ) ) ) return 0;
1080 0 : msg->which_msg = 2;
1081 0 : break;
1082 0 : case 3:
1083 0 : if( msg->which_msg!=3 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1084 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_pull_request_desc, &msg->msg.pull_request ) ) ) return 0;
1085 0 : msg->which_msg = 3;
1086 0 : break;
1087 0 : case 4:
1088 0 : if( msg->which_msg!=4 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1089 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_pull_response_desc, &msg->msg.pull_response ) ) ) return 0;
1090 0 : msg->which_msg = 4;
1091 0 : break;
1092 0 : case 5:
1093 0 : if( msg->which_msg!=5 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1094 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_push_message_desc, &msg->msg.push_message ) ) ) return 0;
1095 0 : msg->which_msg = 5;
1096 0 : break;
1097 0 : case 6:
1098 0 : if( msg->which_msg!=6 ) fd_memset( &msg->msg, 0, sizeof(msg->msg) );
1099 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_prune_message_desc, &msg->msg.prune_message ) ) ) return 0;
1100 0 : msg->which_msg = 6;
1101 0 : break;
1102 0 : default:
1103 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
1104 0 : break;
1105 0 : }
1106 0 : }
1107 0 : return 1;
1108 0 : }
1109 :
1110 : fd_pb_msgdesc_t const fd_exec_test_gossip_msg_desc = {
1111 : .encode = fd_exec_test_gossip_msg_encode,
1112 : .decode = fd_exec_test_gossip_msg_decode
1113 : };
1114 :
1115 : static int
1116 : fd_exec_test_gossip_effects_encode( fd_pb_encoder_t * enc,
1117 0 : void const * msg_ ) {
1118 0 : fd_exec_test_gossip_effects_t const * msg = msg_;
1119 0 : if( msg->valid && FD_UNLIKELY( !fd_pb_push_bool( enc, 1U, msg->valid ) ) ) return 0;
1120 0 : if( msg->has_msg && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 2U, &fd_exec_test_gossip_msg_desc, &msg->msg ) ) ) return 0;
1121 0 : return 1;
1122 0 : }
1123 :
1124 : static int
1125 : fd_exec_test_gossip_effects_decode( fd_pb_inbuf_t * in,
1126 : void * msg_,
1127 0 : fd_spad_t * spad ) {
1128 0 : fd_exec_test_gossip_effects_t * msg = msg_;
1129 0 : while( fd_pb_inbuf_sz( in ) ) {
1130 0 : fd_pb_tlv_t tlv[1];
1131 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
1132 0 : switch( tlv->field_id ) {
1133 0 : case 1:
1134 0 : if( FD_UNLIKELY( !fd_pb_dec_bool( tlv, &msg->valid ) ) ) return 0;
1135 0 : break;
1136 0 : case 2:
1137 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_msg_desc, &msg->msg ) ) ) return 0;
1138 0 : msg->has_msg = 1;
1139 0 : break;
1140 0 : default:
1141 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
1142 0 : break;
1143 0 : }
1144 0 : }
1145 0 : return 1;
1146 0 : }
1147 :
1148 : fd_pb_msgdesc_t const fd_exec_test_gossip_effects_desc = {
1149 : .encode = fd_exec_test_gossip_effects_encode,
1150 : .decode = fd_exec_test_gossip_effects_decode
1151 : };
1152 :
1153 : static int
1154 : fd_exec_test_gossip_fixture_encode( fd_pb_encoder_t * enc,
1155 0 : void const * msg_ ) {
1156 0 : fd_exec_test_gossip_fixture_t const * msg = msg_;
1157 0 : if( msg->has_metadata && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 1U, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
1158 0 : if( msg->input && msg->input->size && FD_UNLIKELY( !fd_pb_push_bytes( enc, 2U, msg->input->bytes, msg->input->size ) ) ) return 0;
1159 0 : if( msg->has_output && FD_UNLIKELY( !fd_pb_enc_submsg( enc, 3U, &fd_exec_test_gossip_effects_desc, &msg->output ) ) ) return 0;
1160 0 : return 1;
1161 0 : }
1162 :
1163 : static int
1164 : fd_exec_test_gossip_fixture_decode( fd_pb_inbuf_t * in,
1165 : void * msg_,
1166 0 : fd_spad_t * spad ) {
1167 0 : fd_exec_test_gossip_fixture_t * msg = msg_;
1168 0 : while( fd_pb_inbuf_sz( in ) ) {
1169 0 : fd_pb_tlv_t tlv[1];
1170 0 : if( FD_UNLIKELY( !fd_pb_dec_tlv( in, tlv ) ) ) return 0;
1171 0 : switch( tlv->field_id ) {
1172 0 : case 1:
1173 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_fixture_metadata_desc, &msg->metadata ) ) ) return 0;
1174 0 : msg->has_metadata = 1;
1175 0 : break;
1176 0 : case 2:
1177 0 : if( FD_UNLIKELY( !fd_pb_dec_bytes_ptr( in, tlv, spad, &msg->input ) ) ) return 0;
1178 0 : break;
1179 0 : case 3:
1180 0 : if( FD_UNLIKELY( !fd_pb_dec_submsg( in, tlv, spad, &fd_exec_test_gossip_effects_desc, &msg->output ) ) ) return 0;
1181 0 : msg->has_output = 1;
1182 0 : break;
1183 0 : default:
1184 0 : if( FD_UNLIKELY( !fd_pb_dec_skip( in, tlv ) ) ) return 0;
1185 0 : break;
1186 0 : }
1187 0 : }
1188 0 : return 1;
1189 0 : }
1190 :
1191 : fd_pb_msgdesc_t const fd_exec_test_gossip_fixture_desc = {
1192 : .encode = fd_exec_test_gossip_fixture_encode,
1193 : .decode = fd_exec_test_gossip_fixture_decode
1194 : };
1195 :
|