Line data Source code
1 : #ifndef HEADER_fd_src_disco_bundle_fd_bundle_tile_h 2 : #define HEADER_fd_src_disco_bundle_fd_bundle_tile_h 3 : 4 : /* fd_bundle_tile.h provides a bundle client tile. 5 : 6 : - Requires HTTP/2 over TLS connections 7 : - Uses TCP sockets 8 : - Uses OpenSSL to drive socket I/O, and provide handshake and record 9 : layers. 10 : - Uses Firedancer's fd_h2 and fd_grpc for HTTP/2 and gRPC logic. 11 : - Does busy polling (no power saving features) */ 12 : 13 : #include "../topo/fd_topo.h" 14 : 15 : struct fd_bundle_tile; 16 : typedef struct fd_bundle_tile fd_bundle_tile_t; 17 : 18 0 : #define FD_BUNDLE_BLOCK_ENGINE_STATUS_DISCONNECTED (0) 19 0 : #define FD_BUNDLE_BLOCK_ENGINE_STATUS_CONNECTING (1) 20 0 : #define FD_BUNDLE_BLOCK_ENGINE_STATUS_CONNECTED (2) 21 : 22 : struct fd_bundle_block_engine_update { 23 : int status; 24 : char name[ 16 ]; 25 : char url[ 256 ]; 26 : char ip_cstr[ 40 ]; /* IPv4 or IPv6 cstr */ 27 : }; 28 : typedef struct fd_bundle_block_engine_update fd_bundle_block_engine_update_t; 29 : 30 : FD_PROTOTYPES_BEGIN 31 : 32 : extern fd_topo_run_tile_t fd_tile_bundle; 33 : 34 : FD_PROTOTYPES_END 35 : 36 : #endif /* HEADER_fd_src_disco_bundle_fd_bundle_tile_h */