Line data Source code
1 : #ifndef HEADER_fd_src_discof_gossip_fd_gossip_tile_h 2 : #define HEADER_fd_src_discof_gossip_fd_gossip_tile_h 3 : 4 : #include "../../disco/topo/fd_topo.h" 5 : 6 : static inline ulong 7 : fd_gossvf_sig( uint addr, 8 : ushort port, 9 0 : ushort kind ) { 10 0 : return (ulong)addr | ((ulong)port<<32) | ((ulong)kind<<48); 11 0 : } 12 : 13 : static inline uint 14 0 : fd_gossvf_sig_addr( ulong sig ) { 15 0 : return (uint)(sig & 0xFFFFFFFFUL); 16 0 : } 17 : 18 : static inline ushort 19 0 : fd_gossvf_sig_port( ulong sig ) { 20 0 : return (ushort)(sig>>32); 21 0 : } 22 : 23 : static inline ushort 24 0 : fd_gossvf_sig_kind( ulong sig ) { 25 0 : return (ushort)(sig>>48); 26 0 : } 27 : 28 : struct fd_gossip_pingreq { 29 : fd_pubkey_t pubkey; 30 : }; 31 : 32 : typedef struct fd_gossip_pingreq fd_gossip_pingreq_t; 33 : 34 : struct fd_gossip_ping_update { 35 : fd_pubkey_t pubkey; 36 : fd_ip4_port_t gossip_addr; 37 : int remove; 38 : }; 39 : 40 : typedef struct fd_gossip_ping_update fd_gossip_ping_update_t; 41 : 42 : extern fd_topo_run_tile_t fd_tile_gossip; 43 : 44 : #endif /* HEADER_fd_src_discof_gossip_fd_gossip_tile_h */