Line data Source code
1 : #ifndef HEADER_fd_src_discof_ipecho_fd_ipecho_server_h 2 : #define HEADER_fd_src_discof_ipecho_fd_ipecho_server_h 3 : 4 : #include "../../util/fd_util_base.h" 5 : 6 0 : #define FD_IPECHO_SERVER_MAGIC (0xF17EDA2CE5185EC8) /* FIREDANCER SIPECHO V0 */ 7 : 8 : struct fd_ipecho_server; 9 : typedef struct fd_ipecho_server fd_ipecho_server_t; 10 : 11 : struct fd_ipecho_server_metrics { 12 : ulong connection_cnt; 13 : ulong bytes_read; 14 : ulong bytes_written; 15 : ulong connections_closed_ok; 16 : ulong connections_closed_error; 17 : }; 18 : 19 : typedef struct fd_ipecho_server_metrics fd_ipecho_server_metrics_t; 20 : 21 : FD_FN_CONST ulong 22 : fd_ipecho_server_align( void ); 23 : 24 : FD_FN_CONST ulong 25 : fd_ipecho_server_footprint( ulong max_connection_cnt ); 26 : 27 : void * 28 : fd_ipecho_server_new( void * shmem, 29 : ulong max_connection_cnt ); 30 : 31 : fd_ipecho_server_t * 32 : fd_ipecho_server_join( void * shipe ); 33 : 34 : void 35 : fd_ipecho_server_init( fd_ipecho_server_t * server, 36 : uint address, 37 : ushort port, 38 : ushort shred_version ); 39 : 40 : void 41 : fd_ipecho_server_poll( fd_ipecho_server_t * server, 42 : int * charge_busy, 43 : int timeout_ms ); 44 : 45 : fd_ipecho_server_metrics_t * 46 : fd_ipecho_server_metrics( fd_ipecho_server_t * server ); 47 : 48 : #endif /* HEADER_fd_src_discof_ipecho_fd_ipecho_server_h */