Line data Source code
1 : #ifndef HEADER_fd_src_app_fdctl_run_tiles_fd_quic_tile_h 2 : #define HEADER_fd_src_app_fdctl_run_tiles_fd_quic_tile_h 3 : 4 : #include "fd_tpu.h" 5 : #include "../stem/fd_stem.h" 6 : #include "../topo/fd_topo.h" 7 : #include "../net/fd_net_tile.h" 8 : #include "../../waltz/quic/fd_quic.h" 9 : 10 : #define FD_QUIC_TILE_IN_MAX (8UL) 11 : 12 : extern fd_topo_run_tile_t fd_tile_quic; 13 : 14 : typedef struct { 15 : fd_tpu_reasm_t * reasm; 16 : 17 : fd_stem_context_t * stem; 18 : 19 : fd_quic_t * quic; 20 : fd_aio_t quic_tx_aio[1]; 21 : 22 : # define ED25519_PRIV_KEY_SZ (32) 23 0 : # define ED25519_PUB_KEY_SZ (32) 24 : uchar tls_priv_key[ ED25519_PRIV_KEY_SZ ]; 25 : uchar tls_pub_key [ ED25519_PUB_KEY_SZ ]; 26 : fd_sha512_t sha512[1]; /* used for signing */ 27 : 28 : uchar buffer[ FD_NET_MTU ]; 29 : 30 : ulong round_robin_cnt; 31 : ulong round_robin_id; 32 : 33 : fd_net_rx_bounds_t net_in_bounds[ FD_QUIC_TILE_IN_MAX ]; 34 : 35 : fd_frag_meta_t * net_out_mcache; 36 : ulong * net_out_sync; 37 : ulong net_out_depth; 38 : ulong net_out_seq; 39 : 40 : fd_wksp_t * net_out_mem; 41 : ulong net_out_chunk0; 42 : ulong net_out_wmark; 43 : ulong net_out_chunk; 44 : 45 : fd_wksp_t * verify_out_mem; 46 : 47 : struct { 48 : ulong txns_received_udp; 49 : ulong txns_received_quic_fast; 50 : ulong txns_received_quic_frag; 51 : ulong frag_ok_cnt; 52 : ulong frag_gap_cnt; 53 : ulong frag_dup_cnt; 54 : long reasm_active; 55 : ulong reasm_overrun; 56 : ulong reasm_abandoned; 57 : ulong reasm_started; 58 : ulong udp_pkt_too_small; 59 : ulong udp_pkt_too_large; 60 : ulong quic_txn_too_small; 61 : ulong quic_txn_too_large; 62 : } metrics; 63 : } fd_quic_ctx_t; 64 : 65 : #endif /* HEADER_fd_src_app_fdctl_run_tiles_fd_quic_tile_h */