Line data Source code
1 : #ifndef HEADER_fd_src_discof_genesis_fd_genesis_client_h 2 : #define HEADER_fd_src_discof_genesis_fd_genesis_client_h 3 : 4 : #include "../../util/net/fd_net_headers.h" 5 : 6 : #define FD_GENESIS_CLIENT_ALIGN 8UL 7 : 8 0 : #define FD_GENESIS_CLIENT_MAGIC (0xF17EDA2CE58E1EC0) /* FIREDANCER GENEC V0 */ 9 : 10 : struct fd_genesis_client_private; 11 : typedef struct fd_genesis_client_private fd_genesis_client_t; 12 : 13 : FD_FN_CONST ulong 14 : fd_genesis_client_align( void ); 15 : 16 : FD_FN_CONST ulong 17 : fd_genesis_client_footprint( void ); 18 : 19 : void * 20 : fd_genesis_client_new( void * shmem ); 21 : 22 : fd_genesis_client_t * 23 : fd_genesis_client_join( void * shgen ); 24 : 25 : void 26 : fd_genesis_client_init( fd_genesis_client_t * client, 27 : fd_ip4_port_t const * servers, 28 : ulong servers_len, 29 : int epoll_fd ); 30 : 31 : int 32 : fd_genesis_client_poll( fd_genesis_client_t * client, 33 : long now, 34 : fd_ip4_port_t * peer, 35 : uchar ** buffer, 36 : ulong * buffer_sz, 37 : int * charge_busy ); 38 : 39 : long 40 : fd_genesis_client_deadline_nanos( fd_genesis_client_t const * client ); 41 : 42 : struct pollfd const * 43 : fd_genesis_client_get_pollfds( fd_genesis_client_t * client ); 44 : 45 : #endif